Edited wiki page miniz_performance_comparison_v110 through web user interface.

This commit is contained in:
richgel99@gmail.com 2011-05-28 16:18:20 +00:00
parent a3242777ce
commit 1be54bd029

View File

@ -4,7 +4,7 @@
This page shows how miniz.c v1.10 compares to several other popular open source lossless data compression codecs at compression level 9 (max compression), with two examples at level 1 (fastest compression) on enwik8 and enwik9. The data here was generated using a slightly modified and enhanced version of [http://en.wikipedia.org/wiki/John_W._Ratcliff John Ratcliff's] [http://code.google.com/p/compressiontest/ compressiontest] project, compiled to x64.
miniz.c's typical decompression rate is around 175-250 MB/sec. on a Core i7 3.2 GHz, and its typical compression rate is anywhere from 14-120.5MB/s (actual rates depend on the compression level, as well as the compressibility and redundancy present in the source data). The x64 version of the decompressor is faster than the x86 version, sometimes up to 20%, mostly due to good register utilization. miniz.c's inflater can be optionally configured to use a 64-bit bitbuffer on 64-bit CPU's, and unaligned 16 and 32-bit loads on little endian platforms (the tests below had both optimizations enabled).
On a Core i7 3.2 GHz, miniz.c's typical decompression rate is around 175-250 MB/sec., and its typical compression rate is anywhere from 14-120.5MB/s (actual rates depend on the compression level, as well as the compressibility and redundancy present in the source data). The x64 version of the decompressor is faster than the x86 version, sometimes up to 20%, mostly due to good register utilization. miniz.c's inflater can be optionally configured to use a 64-bit bitbuffer on 64-bit CPU's, and unaligned 16 and 32-bit loads on little endian platforms (the tests below had both optimizations enabled).
For comparison purposes, I've added [http://nothings.org/stb_image.c stb_image.c]'s Inflater implementation to compresssiontest, and [http://code.google.com/p/lzham/ LZHAM] alpha7. Note that miniz.c is used for compressing the data supplied to stb_image.c for decompression (stb_image.c does not include a compressor, [http://nothings.org/stb/stb_image_write.h stb_image_write.h] contains a simple compressor but I haven't tested it yet). Also, stb_image.c does not compute an [http://en.wikipedia.org/wiki/Adler32 Adler-32] checksum of the uncompressed data, and miniz.c and zlib do, so stb's actual "apples to apples" performance is a little lower than reported here. (Approximately 10% of miniz.c's decompression time is spent computing the Adler32 checksum. Note, stb_image.c is extremely useful and it inspired miniz.c -- I'm only using it as a point of reference to help compare alternate Inflate implementations against zlib.)