D => asm.js for the web?
bearophile
bearophileHUGS at lycos.com
Fri Mar 22 19:20:32 PDT 2013
Maybe you remember the NaCl or PNaCl plug-in from Google, that
allows to safely run code at near native speed on the browser
(only 10-30% speed loss, in a probably safe sandbox). This
plug-in seems interesting, but so far I think it's not getting a
lot of traction, and it seems Mozilla is not interested in it.
Now on Reddit they have linked "asm.js". It's an easy to compile
subset of JavaScript, that contains type annotations (inside
comments, so it's still valid standard JavaScript). Mozilla has
created a modified version of its JIT that recognizes asm.js code
and compiles it ahead of time to give, they say, about half the
speed of native code (if it's not recognized, it's seen as normal
JS). Even if this speed will increase a little with time, I think
it will keep being a little slower than NaCl code, but maybe for
lot of people the speed of asm.js will be enough (and the safety
of NaCl is not so certain).
A modified version of Emscripten (a LLVM bytecode to JavaScript
compiler) outputs asm.js. So if you have C/C++ code, with
Emscripten and some parts of LLVM you compile it to asm.js, and
then Firefox Nightly recognizes it (there is an annotation).
So given the LDC2 project, maybe with LDC+Emscripten+asm.js there
is a chance to see D on the web. I think someone will be happy to
use D instead of C/C++ on the web for performance-sensitive code,
like games. This is a small window of opportunity for D.
Bye,
bearophile
More information about the Digitalmars-d
mailing list