incoming now has optional LZ4 compression for file packages. What this lets you do is pre-compress your filesystem data, and keep it compressed in memory, and only decompress chunks on demand as they are read. This means that you can reduce the total amount of memory used by your application.
LZ4 ( https://en.wikipedia.org/wiki/LZ4_%28compression_algorithm%29 ) is a very fast compression algorithm. In my benchmarks it makes little difference to I/O speed, and in general I/O from our in-memory filesystem is fast anyhow since it's already in memory. So the downside of needing to decompress seems small, I don't see much difference in BananaBread startup, for example, with or without LZ4 compression. Of course how useful this is depends on how compressible your data is. LZ4 can compress text very well, but often data in things like games is already compressed, like compressed textures and audio. Still, I saw 10%-25% compression on a few games I tried. Feedback and testing are very welcome. Some docs are at https://github.com/kripken/emscripten/blob/71bf8ed55ed03a96a018f76bf2003acf32db3235/src/settings.js#L250 but basically just run emcc with -s LZ4=1 . (If you run the file packager separately, you need to also pass --lz4 to it.) - Alon -- 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.
