User Tools

Site Tools


base:compression_benchmarks

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