The compression libraries in this benchmark are rather unknown but represents the current top performers with respect to compression- and decompression speed.

The summary on the front page is the average of the values below, except for NotTheMusic.mp4 which is incompressible and special handled by QuickLZ which would make the bechmark unfair.

Except for QuickLZ C#, QuickLZ Java and zlib, this stand-alone benchmark program has been used:

    bench.zip (last edited 26-Sep-2009)

If you want to try it yourself, simply run bench_win32.bat or bench_win64 on Windows or run 'make gcc' in the C directory on *nix (run the resulting executables with a file name as argument).

Many CPU architectures and operating systems are supported by this benchmark program.

In the benchmark below all timings start directly before function call and end immediately after function exit and is therefore excluding disk I/O and operating system calls. They are executed in REALTIME_PRIORITY_CLASS using just a single core/thread and with multiple passes to eliminate timer resolution errors. All libraries are compiled for 64-bit x64 using Visual C++ 2008 with the /Ox flag and without initial performance profiling and executed on an Intel Core i7 920.

QuickLZ Sharp was executed from Visual Studio 2005 with Ctrl+F5 to enable JIT optimization. QuickLZ Java was compiled and executed with Java 6 SE, just using javac CMain.java; java CMain from the command line. No use of profilers or special compiler options.

Note that zlib and LZO have levels with better compression ratio and possibly faster decompression speed which have not been benchmarked.

Also note that performance differ on 32-bit x86 and RISC architectures. Simply run bench.zip above on your own system.

  Intel Core i7 920
Level Original and
compressed size
Compression Mbyte/s Decompression Mbyte/s
proteins.txt 7,085 KB
   QuickLZ 1.5.0 1 2,524 KB 35.6% 331 370
   QuickLZ 1.5.0 2 2,337 KB 33.0% 150 329
   QuickLZ 1.5.0 3 2,303 KB 32.5% 31 510
 
   QuickLZ Sharp 1.5.0 1 2,524 KB 35.6% 164 162
   QuickLZ Java 1.5.0 1 2,524 KB 35.6% 147 104
 
   LZF 3.1 UF 2,860 KB 40.4% 247 402
   LZF 3.1 VF 2,694 KB 38.0% 231 421
  
   FastLZ 0.1.0 1 2,725 KB 38.5% 209 454
   FastLZ 0.1.0 2 2,727 KB 38.5% 194 400
  
   LZO 1X 2.02 1 2,772 KB 39.1% 211 391
  
   zlib 1.22 1 2,075 KB 29.3% 58 280
  
 plaintext.txt 2,919 KB
   QuickLZ 1.5.0 1 1,404 KB 48.1% 245 269
   QuickLZ 1.5.0 2 1,113 KB 38.1% 122 272
   QuickLZ 1.5.0 3 1,027 KB 35.2% 30 467
  
   QuickLZ Sharp 1.5.0 1 1,404 KB 48.1% 118 111
   QuickLZ Java 1.5.0 1 1,404 KB 48.1% 109 84
  
   LZF 3.1 UF 1,777 KB 60.9% 139 284
   LZF 3.1 VF 1,656 KB 56.7% 134 300
   FastLZ 0.1.0   1 1,702 KB 58.3% 129 310
   FastLZ 0.1.0  2 1,516 KB 51.9% 132 306
  
   LZO 1X 2.02   1 1,356 KB 46.5% 135 312
  
   zlib 1.22 1 1,095 KB 37.5% 56 190
  
gdb.exe 8,665 KB
   QuickLZ 1.5.0 1 3,966 KB 45.8% 270 296
   QuickLZ 1.5.0 2 3,653 KB 42.2% 119 264
   QuickLZ 1.5.0 3 3,483 KB 40.2% 29 469
  
   QuickLZ Sharp 1.5.0 1 3,966 KB 45.8% 115 134
   QuickLZ Java 1.5.0 1 3,966 KB 45.8% 116 88
  
   LZF 3.1 UF 4,535 KB 52.3% 177 355
   LZF 3.1 VF 4,390 KB 50.7% 165 353
  
   FastLZ 0.1.0 1 4,493 KB 51.9% 153 386
   FastLZ 0.1.0   2 4,389 KB 50.7% 147 347
  
   LZO 1X 2.02 1 4,092 KB 47.2% 141 374
  
   zlib 1.22 1 3,292 KB 38.0% 34 180
  
flower.bmp 17,684 KB
   QuickLZ 1.5.0 1 15,332 KB 86.7% 198 184
   QuickLZ 1.5.0 2 13,933 KB 78.8% 76 148
   QuickLZ 1.5.0 3 12,892 KB 72.9% 23 324
  
   QuickLZ Sharp 1.4.0 1 15,332 KB 86.7% 98 83
   QuickLZ Java 1.4.0 1 15,332 KB 86.7% 70 59
  
   LZF 3.1 UF 16,717 KB 94.5% 129 444
   LZF 3.1 VF 15,656 KB 88.5% 114 352
  
   FastLZ 0.1.0 1 15,774 KB 89.2% 94 382
   FastLZ 0.1.0   2 15,724 KB 88.9% 94 333
  
   LZO 1X 2.02 1 15,245 KB 86.2% 73 327
  
   zlib 1.22 1 11,426 KB 64.6% 22 113
  
northwind.mdf 2,688 KB
   QuickLZ 1.5.0 1 622 KB 23.2% 500 672
   QuickLZ 1.5.0 2 552 KB 19.4% 187 530
   QuickLZ 1.5.0 3 521 KB 19.4% 43 809
  
   QuickLZ Sharp 1.4.0 1 622 KB 23.2% 169 169
   QuickLZ Java 1.4.0 1 622 KB 23.2% 192 140
  
   LZF 3.1 UF 706 KB 26.3% 328 497
   LZF 3.1 VF 682 KB 25.4% 320 492
  
   FastLZ 0.1.0 1 727 KB 27.0% 278 678
   FastLZ 0.1.0   2 635 KB 23.6% 267 643
  
   LZO 1X 2.02 1 601 KB 22.4% 284 774
  
   zlib 1.22 1 491 KB 18.6% 103 408


Handling of hardly compressible data. Values are not included in the averaged values summary:


NotTheMusic.mp4 9,603 KB
   QuickLZ 1.5.0 1 9,603 KB 100% 225 5390
   QuickLZ 1.5.0 2 9,603 KB 100% 80 5174
   QuickLZ 1.5.0 3 9,603 KB 100% 29 5314
  
   QuickLZ Sharp 1.4.0 1 9,603 KB 100% 107 1041
   QuickLZ Java 1.4.0 1 9,603 KB 100% 78 1660
  
   LZF 3.1 UF 9,518 KB 99.1% 134 877
   LZF 3.1 VF 9,528 KB 99.2% 132 865
  
   FastLZ 0.1.0 1 9,538 KB 99.3% 94 788
   FastLZ 0.1.0 2 9,526 KB 99.2% 140 774
  
   LZO 1X 2.02 1 9,238 KB 96.2% 63 1878
  
   zlib 1.22 1 9,187 KB 95.7% 18 374