LZSA | ||||||||
---|---|---|---|---|---|---|---|---|
|
||||||||
|
popularity : 61% |
|||||||
alltime top: #7006 |
|
|||||||
|
||||||||
added on the 2019-06-19 21:49:11 by introspec |
popularity helper
comments
Nice work!
what the profit in using packer for 6502 - speed or ratio?
2nd - 64bit is ful shit, add 32 bit version
2nd - 64bit is ful shit, add 32 bit version
Nice!
thanks!
nice to see a new compressor. i'll definitely give this a go
More tools in the kit is always great news.
.
I wrote both the LZ4 and ZX7 8086 decompressors and will definitely be looking this over. I am dubious that you've matched ZX7 ratios while simultaneously increasing decomp speed 60%, but I'll check it out, and would be happy to be proven wrong.
So I put my money where my mouth was, and wrote speed-optimized 8088/8086 decompressor code for both LZSA formats. We found that the LZSA2 format beats ZX7 in nearly every way, and I'll be switching to it myself for future prods.
Thank you. I used this in our Solskogen demo which ran on a Z80.
More options for compression are always welcome. Had a look at the sources and will probably try to make 6809-versions of the decompressors.
Yet another very impressive alternative for data compression on 8 bit machines! After my brief tests the compression ratio comes close to shrinkler which is the best so far. But this one comparatively promises faster decompression.
@introspec Where can I reach you in order to get answered some detailed questions about the z80 decrunch routine?
@introspec Where can I reach you in order to get answered some detailed questions about the z80 decrunch routine?
Looks promising.
Thanks introspec & cie to bring us this kind of tools, it's excellent work. Shrinkler is a must for oldschool 4k, but LZSA will probably be my choice for big demos.
This is a good idea, and clearly (shown by the graph) fills a niche where decent ratio and very fast decode speed matter.
Nit: It's a bit annoying that it shares its name with this work from 4 years prior, which is surprising, as the readme literally links this blog.
Nit: It's a bit annoying that it shares its name with this work from 4 years prior, which is surprising, as the readme literally links this blog.
Quote:
We only discovered his compressor few months after we released ours, during vanity googling for LZSA. Luckily, his compressor is not publicly available and is targeted at very different tasks, so we decided to keep the name as is.
Yeah, it's a good point that his was not publicly available so it's probably not really a name clash.
Quote:
Basically, Charles Bloom writes too much stuff! Bless him, for his thinking aloud does so much for advancing compression.
Can't agree more! :)
lzsa and lzsa2 are great packer
especially last versions which are a lot faster to crunch
especially last versions which are a lot faster to crunch
New releases are here: https://github.com/emmanuel-marty/lzsa/releases/
submit changes
if this prod is a fake, some info is false or the download link is broken,
do not post about it in the comments, it will get lost.
instead, click here !
Both compressors are also capable of some strategic variability, so for each specific compression format, one can choose to either maximize the compression ratio or to sacrifice some of the ratio (on specific files) to increase their decompression speed.
Viewed from this perspective, the first available compression format, "LZSA1", can be seen as either an equivalent of LZ4 in terms of decompression speed, with about 3%+ higher compression ratio, or as equivalent of LZ4 in terms of compression ratio, while being up to 9% faster to decompress (all measurements of decompression speeds are done for Z80 decompressors).
The second available compression format "LZSA2" has a compression ratio similar to ZX7 (it is possibly 1-2% worse on graphics, but is 1-2% better on most other types of data, especially for larger file sizes). At the same time, it is 50-60% faster to decompress on Z80.
I contributed to this project size- and speed-optimized decompressors for Z80. The decompressors for 8088 and 6502 written by Emmanuel Marty are also provided. The project has been open-sourced:
https://github.com/emmanuel-marty/lzsa
so please contribute any new decompressors, or suggest improvements to the existing ones.
In any way, if you are working on your next treckmo for an old computer and need to keep decompression speeds for your internal data in check, this is probably the first compressor to be designed with you in mind. Please make a demo about it!