3 ms·
Performance. WebAssembly has no JIT stage, it gets AOT compiled straight to machine code. Plus, it gives (or will give) much lower-level access to features like
by bastawhiz 9y ago
Performance. WebAssembly has no JIT stage, it gets AOT compiled straight to machine code. Plus, it gives (or will give) much lower-level access to features like threads and memory allocation.
- kllrnohj 9y ago> Plus, it gives (or will give) much lower-level access to features like threads and memory allocation. There's no reason JavaScript couldn't just have those features. It already has some amount of memory allocation control via ArrayBuffer & DataView.
- imtringued 9y agoYou're describing asm.js which had significant issues as a compilation target. The generated javascript code was massive and it took several seconds just to parse it.
- caseymarquis 9y agoRelated is a mozilla post on streaming wasm for big performance gains: https://hacks.mozilla.org/2018/01/making-webassembly-even-faster-firefoxs-new-streaming-and-tiering-compiler/ https://hacks.mozilla.org/2018/01/making-webassembly-even-fa...
- kllrnohj 9y agoasm.js never added threads, which is a far bigger performance issue than fine-grained manual memory allocation is.
- amaranth 9y agoThanks to Spectre I don't think we'll be seeing threads anytime soon. Well, not threads with shared memory anyway which removes a lot of the point of them. Same reason JavaScript just lost SharedArrayBuffer, too easy to make a high precision timer out of it.