See also: Rules and Conditions

Latest News

30.07.2020 API for Test 4 is defined
30.07.2020 Sample leaderboards for publicly available compressors are posted
30.06.2020 40% of Tests 1-4 available for download
17.06.2020 The competition is officially started!

Schedule

19.06.2020 Start accepting submissions
30.06.2020
 
Test set fixed
40% of test set available to participants
About every month Leaderboards updated
20.11.2020 Deadline for new and updated submissions
27.11.2020 Deadline for settling any technical issues affecting submitted compressors
15.12.2020
 
Winners and results announced
Test sets fully disclosed

Leaderboards

The statistics below are for reference purposes only. Because of the lack of valid submissions in July we tested publicly available compressors.

Among the publicly available compressors the compressors that were submitted for the competition by their authors are marked with (*) in the leaderboards before the name of the compressor.

For the sake of simplicity, we did not take into account the size of decompressors, using c_size only instead of c_full_size. One may use these statistics to estimate the speed of other compressors on our hardware.

Caution on comparability: if possible, we set compressor options to use one thread only. However, some programs might (and did) use multiple threads. We did not try to fine-tune presets to fit into speed limits as tightly as possible, so the compressors are not aligned by speed. Thus these results SHOULD NOT be used to draw conclusions like “compressor X is better than compressor Y”.

Notes on table titles:

  • HCR stands for “High compression ratio”.
  • “Full” means the entire test (1 GB), “open part” means 400 MB data available to participants.

The compressors that were about to fit into the given speed category, but didn’t make it, are placed at the bottom of the corresponding table.

All compressors that are present in the table were tested under Windows 10 x64 OS and with the test hardware as described in Test Hardware.

Choose table:

Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes f score
1 lzturbo 1.2 -32 -p0 -b64 20.38 2.31 22.69 313,628,740 338.63
2 Zstd 1.4.5 --single-thread -5 10.99 1.71 12.70 350,031,534 364.44
3 brotli 1.0.0 -q 5 33.14 2.27 35.41 342,734,011 380.41
4 gzip_libdeflate 1.6 -3 9.67 1.93 11.60 381,453,289 394.98
5 lz4 1.9.2 -7 34.73 1.27 36.00 419,660,324 456.93
- nanozip 0.09 -cd -m26g -p1 -t1 -nm 38.16 8.25 46.41 292,912,925 347.57
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes f score
1 lzturbo 1.2 -32 -p0 -b64 8.21 0.94 9.15 125,885,249 135.98
2 Zstd 1.4.5 --single-thread -5 4.40 0.70 5.10 140,359,623 146.16
3 brotli 1.0.0 -q 5 13.39 0.92 14.31 137,459,479 152.69
4 gzip_libdeflate 1.6 -3 3.88 0.77 4.65 152,828,948 158.25
5 lz4 1.9.2 -7 13.96 0.48 14.44 168,277,879 183.20
- nanozip 0.09 -cd -m26g -p1 -t1 -nm 13.82 3.26 17.08 118,556,797 138.90
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes
1 mcm 0.84 -t11 196 185 381 194,471,618
2 bcm 1.51 -9 150 164 314 196,879,455
3 bsc 3.1.0 -b1024 -T 132 73 205 199,340,040
4 rings 2.5 -m8 -t1 177 142 319 205,541,865
5 m99 0.7 -t1 -b1000000000 106 57 163 209,965,861
6 ppmd variant J, may 10 2006 -m256 -o8 -r0 134 137 271 218,250,683
7 ccm 1.30c Apr 24 2008 7 175 191 366 227,182,502
8 Bzip2 1.0.8, 13-jul-2019 -9 -k 63 27 90 272,660,764
9 Zstd 1.4.5 --single-thread -17 353 2 355 280,425,904
10 zpaq 7.15, aug 17 2016 -m2 -t1 255 11 266 321,052,152
11 gzip_libdeflate 1.6 -12 139 2 141 345,972,811
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes
1 mcm 0.84 -t11 80 75 155 79,132,007
2 bcm 1.51 -9 56 57 113 81,233,486
3 bsc 3.1.0 -b1024 -T 50 26 76 82,229,816
4 rings 2.5 -m8 -t1 70 52 122 83,137,161
5 m99 0.7 -t1 -b1000000000 40 19 58 86,549,699
6 ppmd variant J, may 10 2006 -m256 -o8 -r0 54 54 108 87,726,581
7 ccm 1.30c Apr 24 2008 7 70 76 146 91,358,461
8 Bzip2 1.0.8, 13-jul-2019 -9 -k 26 11 37 109,502,210
9 Zstd 1.4.5 --single-thread -17 142 1 143 112,623,113
10 zpaq 7.15, aug 17 2016 -m2 -t1 102 4 106 128,895,937
11 gzip_libdeflate 1.6 -12 55 1 56 138,614,599
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes
1 mcm 0.84 -x11 504 477 981 183,907,190
2 nanozip 0.09 -cc -m26g -p1 -t1 -nm 650 643 1293 186,908,466
3 ppmonstr var. J, feb 16 2006 -m1271 -o16 -r1 1113 1123 2236 199,621,086
4 zcm 0.93 -m8 -t1 308 317 625 199,835,134
5 ppmd_sh sh9 48 4095 1 585 593 1178 206,695,783
6 zpaq 7.15, aug 17 2016 -m4 -t1 676 703 1379 213,673,566
7 razor 1.03.7 2018-03-22 -d 1000M 3198 14 3212 219,449,490
8 lzturbo 1.2 -49 -p0 -b1000 1538 12 1550 241,386,837
9 Zstd 1.4.5 --single-thread --ultra -22 765 2 767 256,895,578
10 winrar 5.91 -m5 -md1g -mt1 1019 6 1025 289,201,090
11 *Nakamichi-Kaidanji 914 2 916 372,139,917
- zpaq 7.15, aug 17 2016 -m5 -t1 2083 2110 4193 203,510,983
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes
1 mcm 0.84 -x11 203 192 395 75,268,983
2 nanozip 0.09 -cc -m26g -p1 -t1 -nm 263 259 522 76,474,773
3 ppmonstr var. J, feb 16 2006 -m1271 -o16 -r1 438 442 880 80,571,796
4 zcm 0.93 -m8 -t1 122 124 246 80,984,961
5 ppmd_sh sh9 48 4095 1 194 198 392 83,850,007
6 zpaq 7.15, aug 17 2016 -m4 -t1 271 282 553 85,844,299
7 razor 1.03.7 2018-03-22 -d 1000M 1082 5 1087 90,370,482
8 lzturbo 1.2 -49 -p0 -b1000 515 5 520 99,314,913
9 Zstd 1.4.5 --single-thread --ultra -22 304 1 305 103,449,693
10 winrar 5.91 -m5 -md1g -mt1 399 2 401 116,435,960
- zpaq 7.15, aug 17 2016 -m5 -t1 835 844 1679 81,770,967
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes f score
1 QLIC2 ver. 2 7.27 6.46 13.73 437,196,023 457.39
2 IZ 0.1 4.52 4.25 8.77 527,773,296 540.79
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes f score
1 QLIC2 ver. 2 2.86 2.57 5.43 177,039,908 185.04
2 IZ 0.1 1.80 1.69 3.49 212,994,004 218.17
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes
1 zcm 0.93 -m8 -t1 125 100 225 421,446,632
2 bmf 2.01 64 45 109 424,784,116
3 bim 0.03 63 70 133 429,116,636
4 lsp 31 46 77 447,607,475
5 JPEG-LS 1.00 36 38 74 472,399,424
6 winrar 5.91 -m5 -mt1 268 11 279 572,147,676
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes
1 zcm 0.93 -m8 -t1 50 40 90 171,062,945
2 bmf 2.01 26 18 44 172,236,040
3 bim 0.03 25 28 53 173,978,046
4 lsp 13 19 32 180,355,497
5 JPEG-LS 1.00 15 15 30 192,033,705
6 winrar 5.91 -m5 -mt1 107 4 111 232,128,980
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes
1 bmf 2.01 -S 844 729 1573 386,757,828
2 nanozip 0.09 -cc -m1g -p1 -t1 -nm 313 285 598 451,629,800
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes
1 bmf 2.01 -S 341 294 635 157,180,012
2 nanozip 0.09 -cc -m1g -p1 -t1 -nm 106 100 206 180,732,263
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes f score
1 brotli 1.0.0 -q 5 21.73 2.11 23.84 199,100,150 225.05
2 lzturbo 1.2 -32 -p0 -b64 13.93 1.84 15.77 220,756,099 238.37
3 Zstd 1.4.5 --single-thread -5 6.4 1.53 7.93 229,281,599 238.74
4 nanozip 0.09 -cd -m26g -p1 -t1 -nm 15.17 4.68 19.85 224,213,730 248.74
5 gzip_libdeflate 1.6 -3 5.94 1.90 7.84 252,814,246 262.55
6 lz4 1.9.2 -7 15.27 1.20 15.47 305,720,337 323.39
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes f score
1 brotli 1.0.0 -q 5 8.92 0.86 9.78 81,910,401 92.55
2 Zstd 1.4.5 --single-thread -5 2.64 0.63 3.27 93,509,021 97.41
3 lzturbo 1.2 -32 -p0 -b64 5.74 0.78 6.52 90,716,373 98.02
4 nanozip 0.09 -cd -m26g -p1 -t1 -nm 5.99 1.91 7.9 94,931,068 104.74
5 gzip_libdeflate 1.6 -3 2.41 0.76 3.17 102,946,992 106.88
6 lz4 1.9.2 -7 6.21 0.46 6.67 124,236,658 131.37
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes
1 zcm 0.93 -m8 -t1 178 173 351 132,407,597
2 winrar 5.91 -m5 -md1g -mt1 183 4 187 147,510,610
3 ccm 1.30c Apr 24 2008 7 147 150 297 155,030,153
4 Zstd 1.4.5 --single-thread --ultra -22 371 2 373 167,089,991
5 bsc 3.1.0 -b1024 -T 72 53 125 177,586,608
6 bcm 1.51 -9 96 122 218 177,864,510
7 rings 2.5 -m8 -t1 83 65 148 195,309,492
8 m99 0.7 -t1 -b1000000000 226 47 273 200,559,841
9 ppmd variant J, may 10 2006 -m256 -o8 -r0 102 107 209 208,034,624
10 gzip_libdeflate 1.6 -12 138 2 140 227,813,100
11 Bzip2 1.0.8, 13-jul-2019 -9 -k 50 20 70 227,827,252
12 zpaq 7.15, aug 17 2016 -m2 -t1 164 8 172 244,179,479
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes
1 zcm 0.93 -m8 -t1 73 72 145 57,126,873
2 winrar 5.91 -m5 -md1g -mt1 61 2 63 63,898,093
3 ccm 1.30c Apr 24 2008 7 58 60 118 64,724,537
4 Zstd 1.4.5 --single-thread --ultra -22 147 1 148 69,480,082
5 bcm 1.51 -9 36 45 81 76,807,130
6 bsc 3.1.0 -b1024 -T 27 20 47 76,832,940
7 rings 2.5 -m8 -t1 34 27 61 82,368,150
8 ppmd variant J, may 10 2006 -m256 -o8 -r0 42 44 86 85,060,590
9 m99 0.7 -t1 -b1000000000 50 17 67 86,222,821
10 gzip_libdeflate 1.6 -12 55 1 56 92,750,870
11 Bzip2 1.0.8, 13-jul-2019 -9 -k 19 8 27 92,819,163
12 zpaq 7.15, aug 17 2016 -m2 -t1 67 3 70 101,046,662
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes
1 ppmonstr var. J, feb 16 2006 -m1271 -o16 -r1 1162 1168 2330 118,631,432
2 razor 1.03.7 2018-03-22 -d 1000M 1427 9 1436 120,084,529
3 zpaq 7.15, aug 17 2016 -m5 -t1 1855 1866 3721 128,278,016
4 lzturbo 1.2 -49 -p0 -b1000 771 8 779 134,083,245
5 zpaq 7.15, aug 17 2016 -m4 -t1 556 571 1127 158,730,478
6 ppmd_sh sh9 48 4095 1 799 806 1805 184,675,198
Place Name Ver Preset c_time, s d_time, s Full time, s Compr. size, bytes
1 ppmonstr var. J, feb 16 2006 -m1271 -o16 -r1 449 452 901 49,664,157
2 razor 1.03.7 2018-03-22 -d 1000M 537 4 541 52,847,099
3 zpaq 7.15, aug 17 2016 -m5 -t1 725 728 1453 54,505,779
4 lzturbo 1.2 -49 -p0 -b1000 276 3 279 58,877,105
5 zpaq 7.15, aug 17 2016 -m4 -t1 224 230 454 66,065,905
6 ppmd_sh sh9 48 4095 1 256 258 514 76,796,964

Notes:

  • mcm 0.84 freezed while decoding Test 3 data with both -t11 and -x11 presets
  • nanozip 0.09 with -cc -m26g -p1 -t1 -nm preset failed to correctly decode Test 3 data

Goals

  • Facilitate research and development of new and existing algorithms for universal lossless data compression.
  • Bring attention to lossless data compression, spur activity in the field and encourage more researchers and practitioners to pursue it.

We conceived this competition as a long-term project with annual events. Participation is free. Winners will receive substantial monetary prizes and formal awards; the total prize pool this year is 50,000 EUR.

Scope

Motivation

In this competition we concentrate on the advantages of algorithms and their implementations for universal lossless data compression, rather than tuning for certain data types. We test compressors under the following scenarios:

  • Qualitative-data compression. This year we use text data.
  • Quantitative-data compression. The test set for this year contains images, most of which are photographic.
  • Mixed-data compression. This year our focus is on slightly preprocessed executable files (we removed incompressible chunks).
  • Small-block-data compression. We use small blocks of textual and mixed data to evaluate how compressors behave when the data size is severely limited, such as in block-storage systems.

To align compressors by speed and consider practical use cases, we impose speed limits to separate each test into three subcategories: rapid compression, balanced compression and high compression ratio. All told, the result is 12 categories and leaderboards for this competition, as the table below illustrates.

We offer the following awards for each category by compressor rank:

  • First place: 3,000 EUR and award certificate
  • Second place: 1,000 EUR and award certificate
  • Third place: honorable mention certificate (no monetary prize)

We’re also reserving 2,000 EUR for additional rewards in case of ties or other difficult situations.

This competition therefore has 12 separate categories and leaderboards, each with its own prizes. Creating and submitting a universal solution is unnecessary.

Test Type Category Compression + Decompression Time Limit, seconds
Test 1. Qualitative data (text only).
Size = 1 GB.
T1 Rapid compression < 40
T1 Balanced compression < 400
T1 High compression ratio < 4000
Test 2. Quantitative data (images only).
Size = approximately 1 GB.
T2 Rapid compression < 40
T2 Balanced compression < 400
T2 High compression ratio < 4000
Test 3. Mixed data (preprocessed executable files).
Size = 1 GB.
T3 Rapid compression < 40
T3 Balanced compression < 400
T3 High compression ratio < 4000
Test 4. Block compression (mixed Test 1 and Test 3 data).
Size = approximately 1 GB in 32 KiB blocks to be compressed independently so as to allow random-access decompression.
T4 Rapid compression < 40
T4 Balanced compression < 400
T4 High compression ratio < 4000

Ranking

In all cases we add the compressed-decompressor size to the compressed-data size and call it the “compressed-data full size”:

c_full_size = c_size + c_decompressor_size.

For rapid-compression categories we rank compressors by the following formula:

f = c_time + A × d_time + B × c_full_size,

where

  • A is a coefficient that defines the relative importance of decompression speed versus compression speed, and
  • B is the significance ratio of processing speed to compressed-data full size,
  • c_time and d_time are in seconds, c_full_size is in bytes.

This year we use the formula with the following coefficients:

f = c_time + 2 × d_time + (1 / 1,000,000) × c_full_size.

Within each category, we compute f for every compressor, sort the values in ascending order and assign each one a rank equal to its position in the list. Therefore, first place goes to the compressor with the smallest f value and so on.

For the balanced-compression and high-compression-ratio categories, we order results by compressed-data full size only. Thus, among all compressors that meet the compression + decompression time limit in a given category, the winner is the one that produces the smallest output data.

For the block-compression test we measure compression and decompression times with initialization procedures running only once before compression or decompression of the first block. Input and output data are stored in RAM.

Who Can Submit

Developers and owners of new or existing compression software (compressors) may compete, either as individuals or groups. Participation is free!

This competition is sponsored by Huawei. The test method and result validity are the sole responsibility of the organizer (“we” in this text), the Graphics & Media Lab of the Computational Mathematics and Cybernetics Department at Moscow State University.