Firefox Developers Continue Tuning ASM.js Performance

Written by Michael Larabel in Mozilla on 22 December 2013 at 11:01 AM EST. 16 Comments
MOZILLA
Mozilla developers continue to optimize everything they can with ASM.js to deliver the greatest performance possible inside Firefox.

ASM.js is the subset of JavaScript that is aimed for performance, easy to optimize, and is suitable for EmScripten to target in its converting of C/C++ code through LLVM and into this optimized JavaScript. EmScripten itself has been an incredibly interesting project.

With EmScripten, the performance started out at roughly half the speed of native code, but much tuning has taken place -- to ASM.js as well as Firefox in general with its JavaScript engine. There's been very many micro-optimizations but recently there's been some big advancements like optimizing floating-point operations to use 32-bit floats over 64-bit doubles where compatible, etc. The most recent work on Firefox in general and ASM.js reveal continued hope for this performant JavaScript subset to supporting Google's Native Client with native code.

In a new Mozilla blog post its mentioned, "Firefox with float32 optimizations can run all those benchmarks at around 1.5x slower than native, or better. That's a big improvement from earlier this year, when as mentioned before things were closer to 2x slower than native." Additionally, "on some benchmarks, like box2d, fasta and copy, asm.js is as close or closer to clang than clang is to gcc. There is even one case where asm.js beats clang by a slight amount, on box2d."

The blog post at hacks.mozilla.org concluded with, "even the current performance numbers – 1.5x slower than native, or better – are not the limit of what can be achieved, as there are still big improvements either under way or in planning, both in emscripten and in JavaScript engines."
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week