3 ms·
There are many other existing/mature Ruby bytecode VMs/JITs you could switch to before a WASM bytecode VM/JIT.
by eatonphil 5y ago
There are many other existing/mature Ruby bytecode VMs/JITs you could switch to before a WASM bytecode VM/JIT.
- JohnBooty 5y agoYes, but they're not portable/interoperable in the way that a WASM version would be -- which is why the WASM version is exciting, right? (Somebody correct me if I'm wrong; I know what WASM is but I'm not sure how it's employed in practice outside of in-browser tech demos of games and things)
- alberth 5y agoCloudflare Workers allows you to deploy server side WASM apps. https://blog.cloudflare.com/webassembly-on-cloudflare-workers/ https://blog.cloudflare.com/webassembly-on-cloudflare-worker...
- lxgr 5y agoDoes the WASM version even support JIT? As far as I know, it‘s conceptually not possible in WASM (due to the runtime being essentially a Von Neumann machine).
- eatonphil 5y agoWASM is just a spec for a machine. There are a bunch of implementations of it some of which can do JIT compilation.
- lxgr 5y agoWhat I mean is doing JIT compilation inside WASM, not a WASM implementation running WASM programs using JIT (which is definitely possible and being done, as far as I know). I'm not sure how the former would work in a pure Von-Neumann-architecture, where it's not possible to reference code as data (and consequently also not possible to emit new code). What would be interesting to JIT compile in the context of Ruby isn't the Ruby interpreter itself (both AOT and JIT should be fine for that), but the Ruby programs it would be running.