Comments (3)
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.
from luau.
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!
from luau.
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?
from luau.
Related Issues (20)
- Luau crash with constraint debugger "x_as_any_if_x_is_instance_elseif_x_is_table" if x is used as a function HOT 4
- Add fully global functionality to Luau. (_G) HOT 1
- emscripten build failure HOT 3
- `LOADK` instruction right after `LOADKX` instead of an auxiliary parameter HOT 1
- Build fails with `LUAU_BUILD_CLI OFF` in 0.618 HOT 2
- Failed to link Luau after Clang build in Linux
- luau_load can't load this if I export the bytecode and manually put it inside Luau "ASSERTION FAILED: index < count"
- os.date("%Z") returns "Easter" for EDT HOT 1
- Constant array boundary lookups in lua_ref
- Module Declaration for Native Modules HOT 1
- Argument count mismatch on call rather than function HOT 2
- Adding portable prebuilt for aarch64 and x86 in the release HOT 3
- Breakpoint not triggering
- lua_ref failure with too many elements HOT 1
- ~~Byteswap but not bitswap~~
- Autocompleting OO-Style methods is not working in the new type solver. HOT 10
- Inserting into a table with __mode v fails statically
- Autocomplete doesn't work with some intersection/union types
- Type packs are not supported in declaration files HOT 1
- Difference types HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from luau.