
wflz
wfLZ has moved to https://github.com/ShaneWF/wflz
wfLZ is the compression algorithm used by WayForward's internal console/pc engine (www.wayforward.com).
Source is provided under the WTFPL "DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE" (http://sam.zoy.org/wtfpl/).
wfLZ is designed for use in games where decompression speed is paramount. If you're after the best ratio possible, use ZLib.
Notes / Features: * Decompression is extremely cross platform (compression slightly less so) * Choice between multiple compressors, with highly tunable settings for speed/ratio * It is equally well suited to most data, no shortcuts are taken assuming data will follow a certain layout, alignment, etc * Convenience functions are provided to make parallelized decompression easy (and SPU friendly) * It's fast! Decompression is on par with LZ4/LZO, compression is a bit slower * Ratio is a bit worse than LZ4/LZO on large chunks, a bit better when compressing in SPU-sized chunks * The library is designed to be used out of the box: the API is straightforward, code is in C, and configuration is optional.
Misc: * Erlang bindings have been created by Mykola Konyk, available at https://github.com/ttvd/wflz-erlang-nif * There's still plenty of room for optimization (particularly in compression and for consoles) * As mentioned above, compression probably doesn't work on platforms that care about misaligned access (although decompression does). This will be fixed, we don't do runtime compression and it's been a low priority in the rewrite. ```xml
Here's a quick benchmark with a ~185MB file cherry picked because wfLZ is particularly bad at it compared to LZ4/LZO: wfLZ_CompressFast(): 0.567024 [Ratio: 0.32] wfLZ_Decompress(): 0.194785 lzo1x_1_compress(): 0.416246 [Ratio: 0.30] lzo1x_decompress(): 0.204253 LZ4_Compress(): 0.351550 [Ratio: 0.28] LZ4_Decompress(): 0.179476 ```
Project Information
The project was created on Mar 22, 2012.
- License: Other Open Source
- 9 stars
- svn-based source control
Labels:
Compression
fast
Game