- TurboBench
- The only benchmark program including LzTurbo
- 100% in-memory benchmark, no I/O overhead
- Include (>60) allmost all popular, latest or fastest compressors in one compiled package
- No other compressor benchmark includes more codecs or offer more precision and features
- Benchmarking Entropy Coders, Lz77, Rolz, BWT and Context mixing compressors
- Minimum plugins call overhead
- Set one, a group or several compressors to benchmark at the command line
- Multiple input files with recursive directories
- Concatenate multiple small files into one multiblock file
- Benchmark multiblock file as one large block, but each block processed separatelly
- Avoid cache szenario found in other benchmarks with small files
- Set block size, file size limit,...
- Set number of iterations, number of runs, benchmarks, set max. time per run and for all benchmarks.
- Automatic sort
- π automatic update & merge of result files
- π Text, html, csv, markdown and other output formats without retesting
- π html output with sortable tables
- π Transfer speed sheet for different connections or devices: GPRS,2G,3G,4G,DSL,Network,HDD,SSD,RAM
- π Html plot: Speedup + Speed/Ratio
- Linux and Windows binaries
- 100% C/C++, w/o inline assembly
- Enable/disable groups or individual codecs at compile time
- All in one executable, no hassless installing of additional packages, graphic libraries, python,...
- π build in peak memory usage reporting for compression and decompression in html output
- π Encoding and Transform plugins
CPU: Sandy bridge i7-2600k at 4.2GHz, gcc 5.2, ubuntu 15.10, single thread.
- Realistic and practical benchmark with large files
- No PURE cache benchmark
-
html output+Speedup (download app3.tar.html to local file for better browsing)
(bold = pareto) MB=1.000.000
C Size | ratio% | C MB/s | D MB/s | Name |
---|---|---|---|---|
32798929 | 32.8 | 2.79 | 65.49 | lzma 9 |
32922377 | 32.9 | 1.61 | 69.65 | lzturbo 49 |
33761620 | 33.7 | 2.64 | 277.04 | lzham 4 |
34109576 | 34.1 | 2.17 | 1318.56 | lzturbo 39 |
35638896 | 35.6 | 1.19 | 950.41 | zstd 20 |
36944243 | 36.9 | 69.99 | 1411.77 | lzturbo 32 |
37313258 | 37.3 | 2.40 | 2149.57 | lzturbo 29 |
41668560 | 41.6 | 0.19 | 246.43 | brotli 11 |
45799999 | 45.8 | 27.03 | 354.38 | brotli 6 |
46304388 | 46.3 | 35.75 | 347.99 | brotli 5 |
46492542 | 46.4 | 191.69 | 1186.68 | lzturbo 31 |
46875269 | 46.8 | 48.58 | 695.99 | zstd 9 |
48836109 | 48.8 | 113.95 | 676.74 | zstd 5 |
49324183 | 49.3 | 141.06 | 337.46 | brotli 1 |
49860700 | 49.8 | 16.94 | 295.99 | zlib 9 |
49918739 | 49.9 | 288.52 | 1082.09 | lzturbo 30a |
49962678 | 49.9 | 35.70 | 294.24 | zlib 6 |
50027825 | 50.0 | 52.85 | 1899.72 | lzturbo 22 |
50311200 | 50.3 | 312.35 | 1090.91 | lzturbo 30 |
50337788 | 50.3 | 6.73 | 1428.58 | lz5 9 |
52597358 | 52.5 | 262.30 | 2068.57 | lzturbo 21 |
52928477 | 52.9 | 69.17 | 276.75 | zlib 1 |
53112430 | 53.1 | 298.70 | 442.42 | zstd 1 |
54265487 | 54.2 | 2.01 | 3883.96 | lzturbo 19 |
54423519 | 54.4 | 46.33 | 1918.40 | lz4 9 |
55400947 | 55.3 | 465.29 | 1900.38 | lzturbo 20a |
55764172 | 55.7 | 405.79 | 1517.45 | lz5 1 |
55923645 | 55.9 | 141.96 | 3713.00 | lzturbo 12 |
57606731 | 57.6 | 263.89 | 3500.06 | lzturbo 11 |
59090242 | 59.0 | 631.43 | 2099.72 | lzturbo 20 |
60016380 | 60.0 | 596.92 | 3361.22 | lzturbo 10a |
61460109 | 61.4 | 705.32 | 3500.41 | lzturbo 10 |
61938605 | 61.9 | 671.21 | 2069.81 | lz4 1 |
100098564 | 100.0 | 8647.84 | 8408.10 | memcpy |
- LzTurbo v1.3
- balz v1.20
- bcm v1.1b
- Blosc v2.0/16-06
- BriefLz v1.1.0
- Brotli v16-06
- Bzip2 v1.06
- Chameleon v15-03
- Crush v1.0.0
- CSC v16-01
- Density v0.13.0
- Doboz v14-01-14
- FastLz v0.1.0
- Gipfeli v15.12
- heatshrink v0.4.1
- bsc v3.1.0
- Libdeflate v16-06
- LibLZF v1.06
- LibLzg v1.0.8
- Lz4 v1.7.1
- Lz5 v1.4.0
- Lzfse v16-06
- Lzham v1.1/15-12
- Lzlib v1.8
- Lzmat v1.0
- Lzma v9.35
- Lzo v2.09
- Lzoma v16-06
- LZSSE v16-03-28
- Miniz v13-10
- ms-compress v16.06
- Nakamichi v15-10
- Pithy v2011
- Quicklz v1.5.1
- sap v16-04
- shoco v2015
- Shrinker v0.1/r9
- Snappy v1.1.3/16-05
- Snappy-c v1.1.2/14.04
- Tornado v0.6a
- wfLZ v15-04
- Yalz77 v15-09
- Yappy v2011
- zlib v1.2.8
- Libzling v16-01
- xpack v16-06
- Zopfli v16-05
- ZSTD v0.7.1
- zpaq v7.13
- TurboRC-Range Coder v1.3
- Bitwise RC v2010
- Bitwise vector RC v2012
- bcm range coder v1.0
- FastAri v15-10
- TurboAC v1.3
- subotin range coder v2000
- Fast AC v2006
- Range Coder/J.Bonfield v15-07
- FQZ/PPMD Range Coder v15-03
- PPMD Range Coder v15-03
- TurboANX-ANS v1.3
- Finite State Coder v15-05
- Finite State Entropy v16-06
- ANS/J.Bonfield v16-06
- Nania Adaptive rANS v2015
- TurboHF-Huffmann v1.3
- Tornado Huf v0.6a
- zlib Huffmann v1.2.8
- Fast HF v2006
- FSE Huff v16-06
- Polar Codes v10-07
- inline memcpy
- library memcpy
- List all plugins: "./turbobench -l2"
- List all compiled codecs: "./turbobench -l1"
- type "./turbobench -h" for help
-
test all fast compressors in the lz4, lzturbo, zlib class
./turbobench -eFAST file
-
individual codec test (output to screen & file.tbb)
./turbobench -elzturbo,19,29,39/brotli,6/zlib,6 file
-
retest or test other compressors and merge the results to file.tbb
./turbobench -eFAST/bzip2 file
-
Print result file + "transfer+decompression speedup" plot to file.html for browsing
./turbobench -p2 -S2 file.tbb
git clone --recursive git://github.com/powturbo/TurboBench.git
cd TurboBench
make
- Linux: GNU GCC (>=4.6)
- clang (>=3.2)
- Windows: MinGW
- Windows: Visual Studio 2015
- CompFuzz Results - list of vulnerable codecs
Last update: 26 JUN 2016