New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performance benchmarks and comparisons to other compiler projects #112
Comments
I don't think WAVM is an interesting target for us. We don't implement a JIT right now, the language is completely different, etc. Benchmark results also depend on a compiler, for us clang vs MSVC vs gcc can result in different performance, something like LuaJIT is a more stable target because all time-critical portions there are implemented in assembly. Posting benchmark comparisons with different languages is hard! Translating languages precisely can be difficult. In general performance documentation is provided as an illustration of techniques we had to use to improve performance. Luau doesn't claim to be superior to any given implementation or language, short of vanilla Lua where we can confidently say we're much faster than any other vanilla version. LuaJIT, especially in JIT mode, is faster than Luau at this point. As for garbage collectors, it's difficult to explain this as well! Many garbage collectors in other languages aren't incremental, but some are generational or concurrent. At some point we will probably write a separate document on garbage collection, but we're too early in the process to describe all tradeoffs well - we have current and planned work to improve garbage collection throughput. |
I'm going to close this for now, since I don't think there's any specific actionable items for us to take today, and we already have plans to keep expanding our performance documentation as more changes land or solidify. Please feel free to ask specific questions in discussion forum! |
I'd slightly adjust the goal of this issue and ask for showing non-rigorous benchmarks simply by adding Luau to https://github.com/kostya/benchmarks (which is an attempt to side-step the benchmarking issues one would need to solve in rigorous benchmarks; it's also developed & maintained for years already unlike most other benchmarks). @zeux does this sound actionable? |
The text on performance is nice and all, but doesnt show benches + time differences for the intended use case of sandboxing + jitting.
For many explanation like "Reduced garbage collector" its not evident to me with examples how "competitors" do it. It might make sense to create references or elaborate this as examples.
The text was updated successfully, but these errors were encountered: