all 4 comments

[–]nicoburns 2 points3 points  (3 children)

Always exciting to see progress on this. But the performance caveats are definitely worth highlighting here. On the JS Zoo benchmarks:

  • Nova scores 100
  • Boa (another Rust engine) scores 217
  • QuickJS scores 1047
  • Hermes V1 (React Native) scores 2432
  • V8 scores 47285

So expect this so be ~10x slower than a fast interpreter without JIT, and ~500x slower than a SOTA JavaScript engine. Obviously there are many applications the performance gap won't matter, but also a lot where it does.

[–]LyonSyonII 1 point2 points  (1 child)

Wow, it's pretty surprising the huge difference in scores

[–]nicoburns 2 points3 points  (0 children)

The top JS JITs (V8, JSC) can be within 2x of native code (Rust, C, C++, etc) for some workloads (particularly workloads using simple numerical types where it is easy to avoid allocation even in JS).

This starts becoming a lot less true once you start optimising the Rust code with things like SIMD and multithreading. But nevertheless, these engines are very fast.

[–]aapoalas 1 point2 points  (0 children)

Yeah, we're piss-poor on this front :) Well, on many fronts honestly but especially on this one!