Thursday, November 10, 2011

Emscripten Updates

Lots of stuff has happened with Emscripten, I haven't blogged because I've been too busy. Here are some updates:
  • Emscripten was used to compile the Android H264 codec to JavaScript, in a project called Broadway. (live demo)
  • I gave a talk about Emscripten at SPLASH 2011 in Portland. (slides)
  • I gave a talk about Emscripten at JSConf.EU in Berlin. (slides)
  • Performance of the generated code has been improving due to progress in the relevant projects (JS engines, Emscripten and Closure Compiler). Some numbers appear in the slides linked to above (the upper link is more recent).
  • Bundled headers. This makes it easier to use Emscripten on non-Linux platforms (Linux being the platform that most development is done on) and in a portable way that does not depend on your local system headers.
  • Some library bugfixes that resolved almost all the open issues on speak.js, the Emscripten port of eSpeak to JavaScript which lets you do text-to-speech on the web.
  • j2k.js, a port of OpenJPEG to JavaScript with a nice API, letting you decode JPEG2000 images on the web. This might be helpful with pdf.js.
  • Support for LLVM svn (soon to be 3.0). Note that revision 141881 is known to work, others should but not necessarily.
  • Many other improvements and bugfixes to Emscripten. I should probably formally release a 2.0 version, but I can't seem to decide when.
  • Finally, I am now working fulltime on Emscripten and Emscripten-related things (at Mozilla, where I already worked but on other stuff before). So progress on Emscripten will be faster :)


  1. Nice, I watched this project from the beginning and it's nice to see it has come a long way!
    Do you think it is possible at the moment to compile LLVM itself to JS? That would be a very nice demo =).

  2. It's probably possible to compile LLVM itself, yeah :) Or at least it would find some bugs we need to fix ;)