Folks, I would like to share some (not necessarily representative) experiences with the experimental "asyncify" feature. First of all: I really do like the ingenious idea behind the current implementation. Introducing a sync-async bridge is dearly needed for many inherently asynchronous features such as file i/o. Nonetheless, after experimenting with asyncify for a while, my enthusiasm has somewhat cooled down, reasons for that being two major issues:
For one, compile time for the (admittedly very large and complex) legacy code base I used has multiplied and requires a lot more memory than it used to. I actually had to provision some hefty 12 GB to the Ubuntu VM that I run emscription in, in order to let it complete successfully. And secondly, the resulting code size is absurdly large (despite using -Oz), making asyncify impractical for me. In fact, I resorted to using the "main loop" functionality, despite the needed code refactorings. I saw that using Javascript generators was contemplated, but considered too slow. Has the recent Mozilla announcement changed anything in this assessment? AFAICS, Microsoft is also working on generators support in IE and I would expect Google (and eventually, also Apple) to follow course. Obviously, the "yield" functionality of generators would not suffer from the code bloat and compile time increase of the current asyncify approach of forcefully unwinding the call stack and reconstructing it upon resume. Any thoughts? Soeren -- 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.
