| > no amount of static or runtime analysis can entirely save you from performance-hostile semantics baked into the language spec You can in almost all cases check for these semantics statically, and if not found, run a super fast path. This is the whole premise behind asm.js. Heck, even C++ has plenty of features that have performance-hostile semantics. But the compiler checks for these and you don't pay the penalty if you don't use them. Wasm will help, but I disagree that anything in the JS spec makes the _language itself_ inherently slower than any other language, if we disregard textual compilation overhead. |
Until you can specify memory layout you'll never come near a proper gamedev engine, regardless of GC issues(which are also a problem).
(source: I used to work on professional game engines)