| QuickLZ | 1.4.x Home | Commercial License | Changelog | User Testimonials | Contact |
BETA VERSIONS
1.5.0
| Version |
QuickLZ 1.5.0 beta 2 26-Oct-2009 |
| Download | quicklz150beta2.zip |
The C version improves compression speed of level 1 by yet
another 13 - 28% on 64-bit architectures and slightly on 32-bit
architectures - yay!
Decompression speeds and level 2 and 3 are unchanged.
Added support for level 3 to the C# and Java versions.
The C version now takes qlz_state_compress and qlz_state_decompress structs as argument instead of char *scratch buffers. This has cleaned up pointer arithmetic and #ifdef alot. A simple sample program to compress and decompress a string now looks like:
|
#include "quicklz.h" int main () { qlz_state_compress *state_compress = (qlz_state_compress *)malloc(sizeof(qlz_state_compress)); qlz_state_decompress *state_decompress = (qlz_state_decompress *)malloc(sizeof(qlz_state_decompress)); char original[] = "LZ compression finds repeated strings: Five, six, seven, eight, nine, fifteen, sixteen, seventeen, fifteen, sixteen, seventeen."; // Always allocate size + 400 bytes for the destination buffer when compressing. char *compressed = (char *)malloc(strlen(original) + 400); char *decompressed = (char *)malloc(strlen(original)); int r; r = qlz_compress(original, compressed, strlen(original), state_compress); printf("Compressed %d bytes into %d bytes.\n", strlen(original), r); r = qlz_decompress(compressed, decompressed, state_decompress); printf("Decompressed back to %d bytes.\n", r); return 0; } |