base:compression_benchmarks
This is an old revision of the document!
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 not yet available for Exomizer raw or for subsizer, so those two show as a pair of horizontal lines on around 45% mean compressed size.
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 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 |
kilobytes output per second
bin | rle | wvl-f | wvl-s | LZMV256 | tc | LZMV4k | nucrunch | bb2.0 | bitfire | doynax | exomem | pu-f | LZMPi | exoraw | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 |
cycles per byte consumed
bin | rle | wvl-f | wvl-s | LZMV256 | tc | LZMV4k | nucrunch | bb2.0 | bitfire | doynax | exomem | pu-f | LZMPi | exoraw | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
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 |
Sources and credits
Benchmarks originally posted at
as measured by WVL, Christopher Jam, MagerValp, Martin Piper, and tlr.
base/compression_benchmarks.1490599007.txt.gz · Last modified: 2017-03-27 09:16 by shrydar