Thanks for the additional detail and history, these distinctions are complex. I might not have been clear “where it counts” is in code that is running close to the machine, operating on machine registers. In my experience and knowledge of the literature interpreters like that always pay a price, typically running three or four times slower than compiled code. And once a system has a JIT I tend to count it as a compiler, as in principle Just In Time could be defined as before anything executes. And in the case of Ethereum, would have to be, as otherwise the JIT would be an attack surface.