Mashi - A compressor for JS/WASM 64k intros

 Sagacity writes at Pouet.net:

<<Hi friends, I just released the first version of Mashi, which is a compressor for JS/WASM 64k intros. It is based on the core compression routines of Squishy by Ferris/Logicoma, which I'm sure most of you are familiar with.

It is intended as a replacement for Compeko or JsExe or any other kind of tool that relies on the browser's built-in Deflate implementation. I built it primarily for use for compression of WASM (with a tiny amount of JS needed for browser interop) and for that reason it adds a full WASM context model that really improves compression of those kinds of binaries. The decompressor is hand-written in WASM so if you're interested to see what hell looks like, check out "decompress.wat" in the repo linked below.

However, intros that are pure JS can also benefit, although in my unscientific testing the results varied. 0b5vr's 0mix intro went from 64k to 48k, but Luminosity by Bypass was almost unchanged. So YMMV.

Anyway, feel free to test it out. Binaries are available at https://github.com/datatrash/mashi/releases and the source code is at https://github.com/datatrash/mashi

It's all a bit untested (especially under Linux and on non-Chrome-based browsers), but I thought that with Revision coming our way it could already be of use to someone.

Btw, pull requests that reduce final binary size are of course very welcome :)

And a big shout out to Ferris for allowing me to use Squishy as a basis for this, obviously!>> 

Comments

Popular posts from this blog

Volko Hull - An Alternative to Convex Hull

JavaScript: How to serialize maps of maps of maps of ...