I'm curious what decompression speeds you see for lzham? The compression
ratios are impressive, but I assume that's at the cost of taking longer to
unpack.

On Tue, Sep 15, 2015 at 7:17 PM, Charles Vaughn <[email protected]> wrote:

> If you're interested in checking out LZHAM, I've got that building for
> emscripten here: https://github.com/hackcasual/lzham_codec
>
> For bananabread, I saw the following results for of the models:
>
> rw-rw-r-- 1 charles charles   385692 Sep 15 19:12 m134_hudguns.blend
> -rw-rw-r-- 1 charles charles   138954 Sep 15 19:13 m134_hudguns.blend.lz4
> -rw-rw-r-- 1 charles charles    83108 Sep 15 19:14 m134_hudguns.blend.lzham
>
> On Tuesday, September 8, 2015 at 5:11:26 PM UTC-7, Alon Zakai wrote:
>>
>> 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.
>

-- 
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.

Reply via email to