Today it was announced that Mozilla, Microsoft, Google Chrome and Apple Webkit have got a support for binary format for JavaScript.

What does it mean for JavaScript developers? Nothing probably, they will continue doing JavaScript programming until some tool will compile plain JavaScript (or even ASM.JS subset) to binary format.

So, who is a target for this technology?

Mostly C++/C# developers. WebAssembly is a successor of ASM.JS that cooperates with Emscripten SDK. What is super important, it removes majority of constrains like:

  • i64 emulation: In plain JavaScript has no native representation of 64 bit integers, hence such common type has to be emulated. Quick benchmark made by Mozilla shows, that emulation is 8x slower than native solution. In WebAssembly it’s only 1.13x slower.
  • Contiguous HEAP: ASM.JS requires an emulate HEAP what is basically an array that stores what normally would be stored in free memory. Decent game requires to have about 512MB of HEAP. Problem with this is that it’s hard for browser to find free, not fragmented memory that can holds it.
  • Debugging: Debugging ASM.JS code that has 10MB in size optimal version, or 100MB of JS code of debug version can kill every browser, and stepping through breakpoints takes a few seconds.


More info:


0 Kudos