4 ms·
My most recent data says it's still relevant. It might not matter for very small interpreters, but it does matter for anything substantial. Definitely worth r
by pizlonator 2y ago
My most recent data says it's still relevant.
It might not matter for very small interpreters, but it does matter for anything substantial.
Definitely worth remeasuring though.
- titzer 2y agoThreaded dispatch is worth 15-30% in Wizard's fast interpreter.
- pjmlp 2y agoI would advocate that anything substancial is better off with a JIT, even a dumb one e.g. template JIT, we aren't dealing with 8 bit home computers memory constraints any longer, except in some IoT deployments.
- pizlonator 2y agoBut then you’ll still have an interpreter for fast start. That’s why JSC and V8 have interpreters as their bottom tiers. And you’ll also want an interpreter if you don’t have permissions to JIT, which is common these days.
- pjmlp 2y agoThe only place where there isn't a JIT permission are iDevices, and we all know that security isn't really the main reason. Sure modern security concerns make use of W^X, and implementations have adapted accordingly. Android has an interpreter hand written Assembly for fast start since Android 7, with a jump into JIT compilation as fast as possible, because it has been proven to be a better solution in the field. The point being that a fast start doesn't really require an interpreter to win out micro-benchmarks game, rather be good enough until the tiered JITs step in.
- pizlonator 2y agoNot just iDevices. Gaming consoles also have such restrictions. So do safety critical systems (flight control systems often have some kind of interpreter but never a JIT as far as I know). There are probably other examples. Fast start absolutely does require an interpreter and it is true that the jump to JIT is very quick - but that jump never happens for a large number of run-once functions (like initialization code or data definition code). Having that interpreter also saves you memory, since initialization code tends to be quite large.