http://hackcasual.io/lzhamtestmin.html

That's timing on decompressing 4MB of floats from a 1.19MB input file

On Friday, September 18, 2015 at 11:02:22 AM UTC-7, Charles Vaughn wrote:
>
> I'll try to post a demo today. There's an interesting aspect to LZHAM's 
> decoder, it's implemented with coroutines. My changes disable those, as 
> they cause degenerate performance in a lot of cases, by creating massive 
> switch statements.
>
> If at least some of the coroutine yield points could be made to work 
> without code bloat or speed impact, it would allow for streaming 
> decompression which would go along way to reducing the overall impact of 
> running the decompressor in Javascript.
>
> On Friday, September 18, 2015 at 10:44:00 AM UTC-7, Charles Vaughn wrote:
>>
>> I've got a little benchmark uncompressing 4MB of floats. On Chrome it's 
>> 80ms, so 50MBps.
>>
>> On Wednesday, September 16, 2015 at 2:37:15 PM UTC-7, Alon Zakai wrote:
>>>
>>> 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 <cva...@gmail.com> 
>>> 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 emscripten-discuss+unsubscr...@googlegroups.com.
>>>> 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 emscripten-discuss+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to