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.
