One thing I wanted to quote from the Ayzim readme on the subject of stability and bugs: "As with any non-trivial rewrite it's probably a little buggy, but the enormous Emscripten test suite reports no issues of consequence so it should be reasonably correct."
On Saturday, 5 November 2016, Aidan Hobson Sayers <aida...@cantab.net> wrote: > Using Ayzim as a drop-in replacement for the Emscripten asm.js native > optimizer when compiling an asm.js project of moderate or large size on > `-O2` or `-O3` should result in a ~50-75% reduction in memory usage and a > ~25-50% speedup when running asm.js native optimizer passes (i.e. most of > the "js opts" stage as seen in in EMCC_DEBUG output). > > To get it, download the compiled releases for Linux and Windows from the > ayzim releases page <https://github.com/aidanhs/ayzim/releases>, extract > them and replace (after backing up!) the existing optimizer(.exe) binary in > `emsdk/emscripten/incoming_optimizer_64bit/` (if you're not on `incoming` > but still feel brave, take a look at your emscripten config file, usually > at `$HOME/.emscripten`, which should point you to the right place). > > -- > > Some background: when I was trying to port a large application to asm.js > about 6 months ago I had serious problems with the Emscripten asm.js > optimizer - it would split the 750MB .js file into chunks and promptly > consume all 8GB of my RAM by trying to optimize the chunks in parallel, > swapping everything else out of memory and grinding the machine to a halt. > I tackled this problem by taking a brief(!) diversion to rewrite the > optimizer in Rust to be more memory efficient. Along the way I added a few > speedups. > > Ayzim is probably an entry in the "well this might have been useful two > years ago" section of software (since asm.js is 'shortly' going to be made > redundant by wasm) but someone may find a use for it. For example, people > wanting to understand the structure of the Emscripten optimizer ast may > want to look at this code > <https://github.com/aidanhs/ayzim/blob/0.1.2/src/cashew.rs#L141> and/or > ask me since I'm very familiar with it now :) > > In time I may extend Ayzim to support wasm optimizations and move it to > being more of a library, but that's for the future. > > Aidan > -- 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 emscripten-discuss+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.