Hacker News new | past | comments | ask | show | jobs | submit login

How is this better than compiling everything to WebAssembly and using V8 as your interpreter?



Because WebAssembly is extremely limited? Unless you need to ship on the web, using WebAssembly is almost certainly a bad decision as it makes highly compromising tradeoffs that you don't need.


Didn't know about this. Can you point me to some references that list the tradeoffs?


WebAssembly is a tool in work, supported by Google, Microsoft, Apple, etc... Currently it lacks a garbage collector, but this is planned. I would bet on wasm to be the holly graal in the future, more than anything else.


Many optimizations need to be performed at a higher level, using language details. By compiling something to WebAssembly you lose all the ability to do that.

For dynamic languages like JS you can’t actually make these optimizations AOT, which is why we JIT JS in the first place.


WebAssembly is a low level portable bytecode. You still need to write the code in C++ or Rust to get performance benefits.

GraalVM improves the performance of Ruby, Python, etc and also allows you to run C and C++ code in the same VM as a bonus with good performance. Unless you're using an intermediary bytecode like WebAssembly or JVM Bytecode you will also need to ship full sources with your C or C++ application.


We'll one reason would be that it looks like it actually works with a lot of languages right now. Do we have any idea when ruby will work in V8?

BTW. In my experience so far, when it comes to software - a bird in the hand is worth ten in the bush


It has GC. (As does V8, but it's not exposed to WebAssembly.)




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: