base:compression_benchmarks
Table of Contents
Compression Benchmarks
Here are how various packers perform on the Pearl for Pigs corpus, as included in LZWVL, the file “bin.rar”.
Note that Bitfire and ByteBoozer 2.0 have nigh identical performance, so only one is visible in this plot. Times for subsizer are preliminary (current at 2017-04-06).
All file sizes exclusive of unpacker, all times measured in cycles with interrupts disabled and screen blanked. JSON raw data to follow.
Packers tested
rle | rle |
wvl-f | LZWVL\ (fast/slow) |
wvl-s | |
LZMV256 | LZMV (MagerValp, unreleased),\ (256b/4k window) |
LZMV4k | |
tc | TinyCrunch (ChristopherJam, unreleased) |
nucrunch | NuCrunch 0.1 |
bb2.0 | Byteboozer 2.0 |
bitfire | Bitfire 0.6 |
doynax | Doynamite 1.1 |
exomem | Exomizer \ (mem/raw) |
exoraw | |
pu-f | PuCrunch (fast) |
LZMPi | LZMPi (compression, decompression) |
subsizer | Subsizer 0.5 |
(tests mostly performed in February 2016. Some may have since improved)
Results
compressed filesizes in bytes
bin | rle | wvl-f | wvl-s | LZMV256 | tc | LZMV4k | nucrunch | bb2.0 | bitfire | doynax | exomem | pu-f | LZMPi | exoraw | subsizer | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 11008 | 8020 | 4529 | 4151 | 4539 | 4329 | 4205 | 3225 | 3322 | 3324 | 3265 | 2988 | 3711 | 3184 | 2988 | 2956 |
2 | 4973 | 4314 | 3532 | 3309 | 3575 | 3423 | 3183 | 2498 | 2513 | 2515 | 2512 | 2225 | 3005 | 2410 | 2241 | 2205 |
3 | 3949 | 3498 | 2991 | 2617 | 3018 | 2972 | 2551 | 2091 | 2098 | 2097 | 2108 | 1808 | 2530 | 1931 | 1817 | 1788 |
4 | 7016 | 6456 | 4242 | 4085 | 4314 | 4225 | 4343 | 3622 | 3682 | 3682 | 3617 | 3442 | 3924 | 3571 | 3454 | 3456 |
5 | 34760 | 27647 | 25781 | 24895 | 26116 | 25210 | 23845 | 20447 | 20530 | 20531 | 20405 | 19715 | 21182 | 20362 | 19631 | 19519 |
6 | 31605 | 12511 | 11283 | 10923 | 11352 | 11614 | 10619 | 8915 | 8998 | 9004 | 8904 | 8322 | 9203 | 8719 | 8337 | 8396 |
7 | 20392 | 17295 | 12108 | 11285 | 12188 | 11445 | 11154 | 9140 | 9241 | 9242 | 9289 | 8765 | 9789 | 9256 | 8751 | 8766 |
8 | 5713 | 5407 | 4179 | 3916 | 3987 | 3936 | 3959 | 3166 | 3165 | 3162 | 3132 | 3081 | 3656 | 3048 | 3059 | 3063 |
9 | 8960 | 7986 | 6914 | 6896 | 6943 | 6572 | 6505 | 5502 | 5491 | 5491 | 5430 | 5304 | 6000 | 5563 | 5295 | 5307 |
compression ratio (%)
bin | rle | wvl-f | wvl-s | LZMV256 | tc | LZMV4k | nucrunch | bb2.0 | bitfire | doynax | exomem | pu-f | LZMPi | exoraw | subsizer | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 100.0 | 72.9 | 41.1 | 37.7 | 41.2 | 39.3 | 38.2 | 29.3 | 30.2 | 30.2 | 29.7 | 27.1 | 33.7 | 28.9 | 27.1 | 26.9 |
2 | 100.0 | 86.7 | 71.0 | 66.5 | 71.9 | 68.8 | 64.0 | 50.2 | 50.5 | 50.6 | 50.5 | 44.7 | 60.4 | 48.5 | 45.1 | 44.3 |
3 | 100.0 | 88.6 | 75.7 | 66.3 | 76.4 | 75.3 | 64.6 | 53.0 | 53.1 | 53.1 | 53.4 | 45.8 | 64.1 | 48.9 | 46.0 | 45.3 |
4 | 100.0 | 92.0 | 60.5 | 58.2 | 61.5 | 60.2 | 61.9 | 51.6 | 52.5 | 52.5 | 51.6 | 49.1 | 55.9 | 50.9 | 49.2 | 49.3 |
5 | 100.0 | 79.5 | 74.2 | 71.6 | 75.1 | 72.5 | 68.6 | 58.8 | 59.1 | 59.1 | 58.7 | 56.7 | 60.9 | 58.6 | 56.5 | 56.2 |
6 | 100.0 | 39.6 | 35.7 | 34.6 | 35.9 | 36.7 | 33.6 | 28.2 | 28.5 | 28.5 | 28.2 | 26.3 | 29.1 | 27.6 | 26.4 | 26.6 |
7 | 100.0 | 84.8 | 59.4 | 55.3 | 59.8 | 56.1 | 54.7 | 44.8 | 45.3 | 45.3 | 45.6 | 43.0 | 48.0 | 45.4 | 42.9 | 43.0 |
8 | 100.0 | 94.6 | 73.1 | 68.5 | 69.8 | 68.9 | 69.3 | 55.4 | 55.4 | 55.3 | 54.8 | 53.9 | 64.0 | 53.4 | 53.5 | 53.6 |
9 | 100.0 | 89.1 | 77.2 | 77.0 | 77.5 | 73.3 | 72.6 | 61.4 | 61.3 | 61.3 | 60.6 | 59.2 | 67.0 | 62.1 | 59.1 | 59.2 |
100.0 | 80.9 | 63.1 | 59.5 | 63.2 | 61.3 | 58.6 | 48.1 | 48.4 | 48.4 | 48.1 | 45.1 | 53.7 | 47.1 | 45.1 | 44.9 |
number of frames to depack
bin | rle | wvl-f | wvl-s | LZMV256 | tc | LZMV4k | nucrunch | bb2.0 | bitfire | doynax | exomem | pu-f | LZMPi | exoraw | subsizer | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 11.5 | 13.5 | 14.5 | 13.7 | 15.5 | 16.9 | 21.8 | 24.3 | 24.4 | 27.5 | 57.9 | 54.7 | 79.3 | 38.2 | ||
2 | 5.5 | 7.5 | 7.5 | 8.4 | 9.5 | 9.6 | 13.4 | 15.1 | 15.1 | 17.5 | 38.5 | 39.6 | 53.1 | 22.0 | ||
3 | 4.5 | 6.5 | 6.5 | 6.2 | 7.5 | 7.1 | 9.8 | 10.9 | 10.9 | 12.5 | 28.5 | 31.9 | 41.4 | 16.4 | ||
4 | 8.5 | 9.5 | 9.5 | 9.4 | 10.5 | 11.5 | 16.4 | 18.1 | 18.1 | 20.5 | 53.1 | 52.0 | 75.4 | 32.5 | ||
5 | 36.5 | 39.5 | 42.5 | 46.6 | 59.5 | 58.4 | 99.9 | 107.7 | 107.4 | 119.5 | 295.9 | 298.6 | 431.0 | 185.3 | ||
6 | 20.5 | 25.5 | 25.5 | 38.2 | 37.5 | 35.8 | 57.1 | 61.5 | 62.0 | 49.5 | 142.3 | 152.8 | 220.0 | 94.9 | ||
7 | 22.5 | 25.5 | 26.5 | 29.1 | 32.5 | 35.0 | 49.5 | 54.5 | 54.5 | 60.5 | 139.2 | 139.8 | 205.8 | 87.8 | ||
8 | 6.5 | 8.5 | 8.5 | 8.9 | 10.5 | 10.3 | 15.2 | 16.9 | 17.0 | 18.5 | 44.8 | 47.7 | 65.1 | 26.5 | ||
9 | 9.5 | 12.5 | 12.5 | 14.2 | 16.5 | 16.6 | 26.5 | 29.6 | 29.4 | 32.5 | 78.9 | 81.7 | 117.4 | 49.5 |
kilobytes output per second
bin | rle | wvl-f | wvl-s | LZMV256 | tc | LZMV4k | nucrunch | bb2.0 | bitfire | doynax | exomem | pu-f | LZMPi | exoraw | subsizer | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 46.9 | 39.9 | 37.2 | 39.3 | 34.8 | 31.9 | 24.8 | 22.2 | 22.1 | 19.6 | 9.3 | 9.9 | 6.8 | 14.1 | ||
2 | 44.3 | 32.5 | 32.5 | 29.0 | 25.6 | 25.4 | 18.1 | 16.1 | 16.1 | 13.9 | 6.3 | 6.1 | 4.6 | 11.1 | ||
3 | 43.0 | 29.7 | 29.7 | 31.2 | 25.8 | 27.2 | 19.7 | 17.7 | 17.8 | 15.5 | 6.8 | 6.1 | 4.7 | 11.8 | ||
4 | 40.4 | 36.2 | 36.2 | 36.5 | 32.7 | 29.9 | 21.0 | 18.9 | 19.0 | 16.8 | 6.5 | 6.6 | 4.6 | 10.6 | ||
5 | 46.6 | 43.1 | 40.0 | 36.5 | 28.6 | 29.1 | 17.0 | 15.8 | 15.8 | 14.2 | 5.8 | 5.7 | 3.9 | 9.2 | ||
6 | 75.5 | 60.7 | 60.7 | 40.5 | 41.3 | 43.2 | 27.1 | 25.2 | 25.0 | 31.3 | 10.9 | 10.1 | 7.0 | 16.3 | ||
7 | 44.4 | 39.1 | 37.7 | 34.3 | 30.7 | 28.5 | 20.2 | 18.3 | 18.3 | 16.5 | 7.2 | 7.1 | 4.9 | 11.4 | ||
8 | 43.0 | 32.9 | 32.9 | 31.4 | 26.6 | 27.2 | 18.4 | 16.5 | 16.4 | 15.1 | 6.2 | 5.9 | 4.3 | 10.6 | ||
9 | 46.2 | 35.1 | 35.1 | 30.9 | 26.6 | 26.4 | 16.5 | 14.8 | 14.9 | 13.5 | 5.6 | 5.4 | 3.7 | 8.9 | ||
47.8 | 38.8 | 38.0 | 34.4 | 30.3 | 29.9 | 20.3 | 18.4 | 18.4 | 17.4 | 7.2 | 7.0 | 4.9 | 11.5 |
cycles per byte consumed
bin | rle | wvl-f | wvl-s | LZMV256 | tc | LZMV4k | nucrunch | bb2.0 | bitfire | doynax | exomem | pu-f | LZMPi | exoraw | subsizer | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 28.2 | 58.6 | 68.7 | 59.3 | 70.4 | 79.0 | 132.6 | 143.6 | 144.1 | 165.6 | 380.9 | 289.7 | 489.6 | 254.2 | ||
2 | 25.1 | 41.7 | 44.6 | 46.2 | 54.6 | 59.3 | 105.8 | 118.4 | 118.4 | 136.9 | 340.1 | 259.3 | 433.3 | 196.3 | ||
3 | 25.3 | 42.7 | 48.8 | 40.4 | 49.6 | 54.7 | 92.3 | 102.4 | 102.0 | 116.6 | 309.8 | 247.9 | 421.3 | 179.9 | ||
4 | 25.9 | 44.0 | 45.7 | 42.8 | 48.8 | 52.0 | 88.9 | 96.8 | 96.4 | 111.4 | 303.2 | 260.4 | 415.2 | 184.8 | ||
5 | 26.0 | 30.1 | 33.6 | 35.1 | 46.4 | 48.1 | 96.0 | 103.1 | 102.8 | 115.1 | 295.0 | 277.1 | 416.1 | 186.6 | ||
6 | 32.2 | 44.4 | 45.9 | 66.1 | 63.5 | 66.3 | 126.0 | 134.3 | 135.4 | 109.3 | 336.1 | 326.3 | 495.9 | 222.1 | ||
7 | 25.6 | 41.4 | 46.2 | 46.9 | 55.8 | 61.7 | 106.4 | 115.9 | 116.0 | 128.0 | 312.2 | 280.7 | 437.0 | 196.8 | ||
8 | 23.6 | 40.0 | 42.7 | 43.9 | 52.4 | 51.1 | 94.5 | 105.2 | 105.9 | 116.1 | 285.8 | 256.4 | 419.5 | 169.8 | ||
9 | 23.4 | 35.5 | 35.6 | 40.2 | 49.3 | 50.2 | 94.8 | 105.9 | 105.4 | 117.6 | 292.4 | 267.7 | 414.7 | 183.4 |
Sources and credits
Benchmarks originally posted at
as measured by WVL, Christopher Jam, MagerValp, Martin Piper, and tlr.
base/compression_benchmarks.txt · Last modified: 2017-04-21 09:33 by shrydar