I had issues not being able to build with older Emscripten releases with 
Asyncify, but with 1.27.0 the tools now work for me. I have a reasonably 
large codebase (just over 66 KLOCs of C++) originally written for Marmalade 
then ported to NaCl and Emscripten. The reliance in the original design on 
yielding to get mouse and other updates meant the Emscripten version, which 
was otherwise feature complete, needed a rethink (the native code runs a 
further 200KLOC of compiled legacy script). The rethink was to add yielding 
to the script VM, which was hard to retrofit but worked well, so my 
personal need for Asyncify has gone.

Anyway, I wanted to try again with the new release, just to see if Asyncify 
was now working and whether I'd wasted the past few months! The build took 
just just under 10 minutes longer than the regular release build, which 
takes around a minute and a half (much less for a partial rebuild, at 15 
seconds or so). The resulting JavaScript was 104MB vs the 2MB regular 
version (both uncompressed). The build time alone makes it unfeasible to 
use in production (I guess it could be macro'd out until needed for the 
final release).

My conclusion is that it's an interesting feature, but I only see it being 
useful for easing developers in from regular native environments. For my 
own project, the best results were seen when thinking how best to do X in 
the browser, working with the limitations. The end result is not far off 
the NaCl version on my desktop.

I'd did look at generators in Chrome, but only for a small test file, where 
yielding worked fine (I didn't pursue it since support wasn't there yet in 
other browsers, but I recall CPU usage being high).

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to