Hacker News new | ask | show | jobs
by nachtigall 3641 days ago
What's the difference between IonMonkey and Firefox' SpiderMonkey?
2 comments

IonMonkey is the name of one of the JITs in SpiderMonkey.

(For entertainment purposes, the JITs have names ending in -Monkey.)

IonMonkey is to SpiderMonkey as TurboFan[0] is to V8

[0] - https://github.com/v8/v8/wiki/TurboFan

I'd compare IonMonkey in SM to Crankshaft in V8. Ion was actually started in response to Crankshaft.

TurboFan is a new even-higher-tier, even-more-expensive-to-compile, but potentialy even-more-optimized compiler backend the V8 team is working on.

Spelled out, TurboFan and IonMonkey are JITs that take longer to run but can do more optimizations. The idea is to run them on code that executes a _lot_ of times, so the faster code generated pays for the extra JIT time. If you wrote a game in straight JS and it contains some code that runs for a bunch of in-game objects every frame, that's the kind of thing these JITs could really help with.