V8 is extremely good, but (maybe due to JS itself?) it still falls short of LuaJIT and even JVM performance. Although at least for JVM it takes way longer to warm up than the other two.

It's JS, V8 is afaict much more advanced than luajit and jvm.

Although java also has the advantage of not having to be ~ real time (i.e. has a compiler)

> maybe due to JS itself?

Nail on the head; a lot of JS overhead is due to its dynamic nature. asm.js disallowed some of this dynamic behaviour (like changing the shape of objects, iirc), meaning they could skip a lot of these checks.

„even“

Hombre, you’re about the best there is.

that 'even' made me chuckle - exactly the same 'reaction'