unknownbrackets / maxcso

Fast cso compressor
ISC License
386 stars 22 forks source link

Support for Lizard (formerly LZ5) #41

Closed IndianaRoy closed 3 years ago

IndianaRoy commented 3 years ago

Hi, is there a way add support for lz5? https://github.com/inikep/lizard

unknownbrackets commented 3 years ago

It's possible, but it would also need to be added other places to be useful.

PRO CFW is really the only thing that supports even LZ4 (I don't know of any emulators that do.) They might not be excited to use up more code space to support Lizard, since it's fairly memory and speed contrained on a real PSP. And as I mention below, it ended up that the performance issue they were trying to fix with LZ4 was actually a separate bug in just the cost of IO operations. I'm not even sure LZ4 is much better on PSPs at 222 Mhz.

For emulators, whether on desktop or phones, the speed benefits of LZ4 have proved to have very little impact on actual load times. The main performance gains in emulators are from keeping IOPS from going too high (this was the bug some CFW had that made CSO slow) and from caching recently decompressed blocks. With those implemented, the gains of LZ4/Lizard vs zlib are tiny.

Because of that, the main motivation - on desktop and phones - for a new compression algorithm would really be better compression ratios. I don't think Lizard is the best algorithm for that, because it mainly does as well as zlib - but faster.

-[Unknown]

unknownbrackets commented 3 years ago

Closing this based on the above.

-[Unknown]