Good day to habravchane and guests of the site, we will focus on the
lossless compression algorithm, which is a joint "child." In this article, the intermediate results of which could be achieved in the form of comparison tables with popular algorithms will be presented.
Briefly about the algorithm
The main ideology for the algorithm was compiled in several characteristics:
- Not bound to file types
- Good compression ratio
- Fast unpacking speed
The packing (compression) speed was not included here initially, but will gradually improve as the whole algorithm as a whole. Entropy compression and vocabulary methods are not used.
Training
For cleanliness and ease of measurement, the algorithm was integrated into the lzbench utility (link
to GitHub ), since it already has a sufficient number of other algorithms and it is easy to integrate your own.
')
Next, the files were selected from a ready-made package for testing algorithms called Silesia. Brief description of the files:
File name | Description | Type of | Size, Byte |
dickens | The collection of works by Charles Dickens | txt (eng) | 10 192 446 |
mozilla | tar archive with Mozilla 1.0 executables | exe | 51 220 480 |
mr | MRI image | image | 9,970,564 |
nci | Base of chemical structures | database | 33,553,445 |
ooffice | Dll files from Open Office.org 1.01 | exe | 6,152,192 |
osdb | Sample MySQL database format from | database | 10,085,684 |
reymont | Text book | Polish, pdf | 6,627,202 |
samba | source tar archive | src | 21,606,400 |
sao | Star Catalog of the Smithsonian Astrophysical Observatory | bin data | 7,251,944 |
webster | Webster's American English Dictionary | html | 41,458,703 |
xml | Collection of xml files | xml | 5 345 280 |
X-ray | X-ray image | image | 8,474,240 |
→
SourceList of algorithms that participate in comparisons
- Brotli
- Broo
- Csc
- Gipfeli
- Libdeflate
- Lz4
- Lz5
- Lzlib
- Lzma
- Lzsse
- Quicklz
- Snappy
- Xpack
- Yalz77
- Yappy
- Zlib
- Zstd
The list is saturated with algorithms that solve different problems, but everything is known in comparison.
A short description of some of them.
Brotli - is based on the modern version of the
LZ77 algorithm, the entropy
Huffman coding and the modeling of the 2nd order context.
Designed to speed up the loading of web pages, supported in Chrome browsers based on Chromium and Firefox.
Deflate is a lossless compression algorithm using a combination of LZ77 and Huffman algorithms.
Zstandard (Zstd) is a lossless data compression algorithm developed from 2015 Yann Collet with the support of Facebook. Combines the vocabulary data compression algorithm of the LZ77 type and the effective entropy coding of the tANS type (FSE - Finite State Entropy), a modification of the Huffman code that implements a non-integer number of bits for storing characters.
LZMA - used in the 7-Zip archiver to create compressed archives in 7z format. The algorithm is based on a dictionary data compression scheme similar to that used in the LZ77, and provides a high compression ratio (usually higher than that obtained with bzip2 compression), and also allows the use of dictionaries of various sizes (up to 4 GB).
Snappy - another google lossless compression algorithm is designed to achieve high speeds without achieving maximum compression levels.
PC specifications
DualCore Intel Core i3 550, 3200 MHz processorMemory GoodRam 8119 Mb DDR3-1333 DDR3 SDRAM
Ubuntu OS 16.10 x64
results
memcpy - a function that copies the data, taken as a reference for the speed of packing and unpacking.
The tables are sorted by compression ratio (“% of the original”, this way lzbench displays, did not convert) from small to large.
Test 1. Collection of works by Charles Dickens, textAlgorithm Name | Packing speed | Unpacking speed | Compressed file size, byte | % of original | File Name, Type |
memcpy | 4029 MB / s | 4034 MB / s | 10192446 | 100.00 | dickens, txt |
csc 2016-10-13 -1 | 18 MB / s | 31 MB / s | 4020916 | 39.45 | dickens, txt |
lzlib 1.7 -0 | 7.76 MB / s | 34 MB / s | 3815335 | 37.43 | dickens, txt |
lzma 9.38 -0 | 13 MB / s | 38 MB / s | 4044850 | 39.68 | dickens, txt |
libdeflate 0.6 -1 | 85 MB / s | 435 MB / s | 4231543 | 41.52 | dickens, txt |
zstd 1.1.3 -1 | 143 MB / s | 486 MB / s | 4279273 | 41.98 | dickens, txt |
xpack 2016-06-02 -1 | 83 MB / s | 359 MB / s | 4282245 | 42.01 | dickens, txt |
brotli 0.5.2 -0 | 168 MB / s | 178 MB / s | 4401269 | 43.18 | dickens, txt |
zlib 1.2.8 -1 | 50 MB / s | 195 MB / s | 4585618 | 44.99 | dickens, txt |
broo 1.0 | 6.03 MB / s | 265 MB / s | 4750936 | 46.61 | dickens, txt |
gipfeli 2016-07-13 | 178 MB / s | 254 MB / s | 4955632 | 48.62 | dickens, txt |
yalz77 2015-09-19 -1 | 62 MB / s | 304 MB / s | 5634109 | 55.28 | dickens, txt |
quicklz 1.5.0 -1 | 250 MB / s | 326 MB / s | 5831353 | 57.21 | dickens, txt |
lzsse2 2016-05-14 -0 | 18 MB / s | 1481 MB / s | 5865705 | 57.55 | dickens, txt |
yappy 2014-03-22 -0 | 91 MB / s | 1122 MB / s | 6141853 | 60.26 | dickens, txt |
snappy 1.1.3 | 179 MB / s | 648 MB / s | 6337834 | 62.18 | dickens, txt |
lz4 1.7.5 | 264 MB / s | 1652 MB / s | 6428742 | 63.07 | dickens, txt |
lz5 2.0 -10 | 216 MB / s | 1855 MB / s | 6431869 | 63.10 | dickens, txt |
Test 2. Tar archive with executable files Mozilla 1.0, exeAlgorithm Name | Packing speed | Unpacking speed | Compressed file size, byte | % of original | File Name, Type |
memcpy | 3986 MB / s | 4042 MB / s | 51220480 | 100.00 | mozilla exe |
csc 2016-10-13 -1 | 11 MB / s | 41 MB / s | 15331191 | 29.93 | mozilla exe |
lzma 9.38 -0 | 17 MB / s | 43 MB / s | 16425272 | 32.07 | mozilla exe |
lzlib 1.7 -0 | 18 MB / s | 33 MB / s | 16470484 | 32.16 | mozilla exe |
xpack 2016-06-02 -1 | 76 MB / s | 368 MB / s | 18391874 | 35.91 | mozilla exe |
libdeflate 0.6 -1 | 92 MB / s | 396 MB / s | 19780124 | 38.62 | mozilla exe |
zstd 1.1.3 -1 | 209 MB / s | 542 MB / s | 20120459 | 39.28 | mozilla exe |
zlib 1.2.8 -1 | 53 MB / s | 209 MB / s | 20577226 | 40.17 | mozilla exe |
brotli 0.5.2 -0 | 217 MB / s | 186 MB / s | 21740128 | 42.44 | mozilla exe |
broo 1.0 | 5.11 MB / s | 350 MB / s | 23177220 | 45.25 | mozilla exe |
gipfeli 2016-07-13 | 236 MB / s | 436 MB / s | 24380558 | 47.60 | mozilla exe |
quicklz 1.5.0 -1 | 315 MB / s | 368 MB / s | 24756819 | 48.33 | mozilla exe |
yalz77 2015-09-19 -1 | 49 MB / s | 436 MB / s | 25454532 | 49.70 | mozilla exe |
lzsse2 2016-05-14 -0 | 13 MB / s | 1493 MB / s | 25826648 | 50.42 | mozilla exe |
lz4 1.7.5 | 437 MB / s | 1876 MB / s | 26435667 | 51.61 | mozilla exe |
snappy 1.1.3 | 303 MB / s | 1013 MB / s | 26461924 | 51.66 | mozilla exe |
lz5 2.0 -10 | 334 MB / s | 2097 MB / s | 27016242 | 52.74 | mozilla exe |
yappy 2014-03-22 -0 | 107 MB / s | 1749 MB / s | 27728218 | 54.14 | mozilla exe |
Test 3. MRI image, imageAlgorithm Name | Packing speed | Unpacking speed | Compressed file size, byte | % of original | File Name, Type |
lzlib 1.7 -0 | 20 MB / s | 34 MB / s | 3130897 | 31.40 | mr, image |
lzma 9.38 -0 | 16 MB / s | 44 MB / s | 3157626 | 31.67 | mr, image |
csc 2016-10-13 -1 | 12 MB / s | 40 MB / s | 3285805 | 32.96 | mr, image |
xpack 2016-06-02 -1 | 82 MB / s | 323 MB / s | 3526828 | 35.37 | mr, image |
libdeflate 0.6 -1 | 98 MB / s | 428 MB / s | 3750985 | 37.62 | mr, image |
zlib 1.2.8 -1 | 60 MB / s | 227 MB / s | 3828366 | 38.40 | mr, image |
zstd 1.1.3 -1 | 191 MB / s | 637 MB / s | 3829231 | 38.41 | mr, image |
brotli 0.5.2 -0 | 198 MB / s | 185 MB / s | 3975643 | 39.87 | mr, image |
gipfeli 2016-07-13 | 220 MB / s | 395 MB / s | 4702561 | 47.16 | mr, image |
broo 1.0 | 5.94 MB / s | 305 MB / s | 4741219 | 47.55 | mr, image |
quicklz 1.5.0 -1 | 410 MB / s | 363 MB / s | 4778194 | 47.92 | mr, image |
lzsse2 2016-05-14 -0 | 24 MB / s | 1523 MB / s | 5120289 | 51.35 | mr, image |
yalz77 2015-09-19 -1 | 58 MB / s | 396 MB / s | 5269368 | 52.85 | mr, image |
snappy 1.1.3 | 302 MB / s | 912 MB / s | 5419831 | 54.36 | mr, image |
lz4 1.7.5 | 422 MB / s | 2024 MB / s | 5440937 | 54.57 | mr, image |
yappy 2014-03-22 -0 | 108 MB / s | 1609 MB / s | 6454120 | 64.73 | mr, image |
lz5 2.0 -10 | 294 MB / s | 2248 MB / s | 6978486 | 69.99 | mr, image |
Test 4. Base of chemical structures, databaseAlgorithm Name | Packing speed | Unpacking speed | Compressed file size, byte | % of original | File Name, Type |
memcpy | 4042 MB / s | 4047 MB / s | 33553445 | 100.00 | nci, db |
csc 2016-10-13 -1 | 39 MB / s | 156 MB / s | 2463773 | 7.34 | nci, db |
lzma 9.38 -0 | 43 MB / s | 153 MB / s | 2777997 | 8.28 | nci, db |
lzlib 1.7 -0 | 49 MB / s | 103 MB / s | 2868761 | 8.55 | nci, db |
zstd 1.1.3 -1 | 435 MB / s | 915 MB / s | 2884530 | 8.60 | nci, db |
broo 1.0 | 8.65 MB / s | 1000 MB / s | 2981970 | 8.89 | nci, db |
xpack 2016-06-02 -1 | 180 MB / s | 807 MB / s | 3838847 | 11.44 | nci, db |
brotli 0.5.2 -0 | 539 MB / s | 575 MB / s | 3984199 | 11.87 | nci, db |
libdeflate 0.6 -1 | 180 MB / s | 1165 MB / s | 4066913 | 12.12 | nci, db |
zlib 1.2.8 -1 | 122 MB / s | 404 MB / s | 4624597 | 13.78 | nci, db |
yalz77 2015-09-19 -1 | 197 MB / s | 695 MB / s | 5050596 | 15.05 | nci, db |
gipfeli 2016-07-13 | 529 MB / s | 681 MB / s | 5063829 | September 15 | nci, db |
lz4 1.7.5 | 765 MB / s | 2496 MB / s | 5533040 | 16.49 | nci, db |
lz5 2.0 -10 | 657 MB / s | 2644 MB / s | 5545810 | 16.53 | nci, db |
snappy 1.1.3 | 560 MB / s | 1452 MB / s | 6146844 | 18.32 | nci, db |
quicklz 1.5.0 -1 | 512 MB / s | 799 MB / s | 6160636 | 18.36 | nci, db |
lzsse2 2016-05-14 -0 | 15 MB / s | 2984 MB / s | 6339807 | 18.89 | nci, db |
yappy 2014-03-22 -0 | 179 MB / s | 1941 MB / s | 8967562 | 26.73 | nci, db |
Test 5. Dll files from Open Office.org 1.01, exeAlgorithm Name | Packing speed | Unpacking speed | Compressed file size, byte | % of original | File Name, Type |
memcpy | 4054 MB / s | 4102 MB / s | 6152192 | 100.00 | ooffice, exe |
csc 2016-10-13 -1 | 9.91 MB / s | 29 MB / s | 2301523 | 37.41 | ooffice, exe |
lzma 9.38 -0 | 13 MB / s | 31 MB / s | 2841578 | 46.19 | ooffice, exe |
lzlib 1.7 -0 | 14 MB / s | 24 MB / s | 2879489 | 46.80 | ooffice, exe |
xpack 2016-06-02 -1 | 60 MB / s | 342 MB / s | 3137960 | 51.01 | ooffice, exe |
libdeflate 0.6 -1 | 69 MB / s | 286 MB / s | 3187434 | 51.81 | ooffice, exe |
zlib 1.2.8 -1 | 40 MB / s | 151 MB / s | 3290532 | 53.49 | ooffice, exe |
brotli 0.5.2 -0 | 154 MB / s | 143 MB / s | 3539615 | 57.53 | ooffice, exe |
zstd 1.1.3 -1 | 166 MB / s | 487 MB / s | 3579899 | 58.19 | ooffice, exe |
broo 1.0 | 4.93 MB / s | 412 MB / s | 3757206 | 61.07 | ooffice, exe |
gipfeli 2016-07-13 | 163 MB / s | 354 MB / s | 3922276 | 63.75 | ooffice, exe |
lzsse2 2016-05-14 -0 | 15 MB / s | 1205 MB / s | 3995091 | 64.94 | ooffice, exe |
quicklz 1.5.0 -1 | 234 MB / s | 264 MB / s | 4013859 | 65.24 | ooffice, exe |
yalz77 2015-09-19 -1 | 35 MB / s | 398 MB / s | 4125570 | 67.06 | ooffice, exe |
yappy 2014-03-22 -0 | 82 MB / s | 1718 MB / s | 4235687 | 68.85 | ooffice, exe |
snappy 1.1.3 | 222 MB / s | 889 MB / s | 4271150 | 69.42 | ooffice, exe |
lz4 1.7.5 | 337 MB / s | 1671 MB / s | 4338918 | 70.53 | ooffice, exe |
lz5 2.0 -10 | 251 MB / s | 1997 MB / s | 4370070 | 71.03 | ooffice, exe |
Test 6. Sample MySQL database format from the Open Source Database Benchmark, databaseAlgorithm Name | Packing speed | Unpacking speed | Compressed file size, byte | % of original | File Name, Type |
memcpy | 4095 MB / s | 4073 MB / s | 10085684 | 100.00 | osdb db |
csc 2016-10-13 -1 | 10 MB / s | 38 MB / s | 3317800 | 32.90 | osdb db |
lzlib 1.7 -0 | 19 MB / s | 33 MB / s | 3345965 | 33.18 | osdb db |
xpack 2016-06-02 -1 | 68 MB / s | 475 MB / s | 3752871 | 37.21 | osdb db |
zstd 1.1.3 -1 | 194 MB / s | 585 MB / s | 3770566 | 37.39 | osdb db |
libdeflate 0.6 -1 | 90 MB / s | 470 MB / s | 3896803 | 38.64 | osdb db |
brotli 0.5.2 -0 | 214 MB / s | 224 MB / s | 3910502 | 38.77 | osdb db |
lzma 9.38 -0 | 15 MB / s | 38 MB / s | 3988823 | 39.55 | osdb db |
zlib 1.2.8 -1 | 56 MB / s | 211 MB / s | 4076391 | 40.42 | osdb db |
broo 1.0 | 5.40 MB / s | 474 MB / s | 4147465 | 41.12 | osdb db |
lzsse2 2016-05-14 -0 | 12 MB / s | 1724 MB / s | 4492551 | 44.54 | osdb db |
gipfeli 2016-07-13 | 232 MB / s | 530 MB / s | 4517517 | 44.79 | osdb db |
yalz77 2015-09-19 -1 | 51 MB / s | 596 MB / s | 4570193 | 45.31 | osdb db |
lz4 1.7.5 | 359 MB / s | 1629 MB / s | 5256666 | 52.12 | osdb db |
lz5 2.0 -10 | 278 MB / s | 1842 MB / s | 5286739 | 52.42 | osdb db |
snappy 1.1.3 | 303 MB / s | 1110 MB / s | 5329321 | 52.84 | osdb db |
quicklz 1.5.0 -1 | 277 MB / s | 330 MB / s | 5496443 | 54.50 | osdb db |
yappy 2014-03-22 -0 | 70 MB / s | 1794 MB / s | 7515735 | 74.52 | osdb db |
Test 7. Text of the book by Chłopi, Polish writer Radislav Reymont, Polish, PDFAlgorithm Name | Packing speed | Unpacking speed | Compressed file size, byte | % of original | File Name, Type |
memcpy | 4123 MB / s | 4120 MB / s | 6627202 | 100.00 | reymont pdf |
csc 2016-10-13 -1 | 15 MB / s | 47 MB / s | 1872324 | 28.25 | reymont pdf |
lzma 9.38 -0 | 15 MB / s | 49 MB / s | 1921954 | 29.00 | reymont pdf |
lzlib 1.7 -0 | 22 MB / s | 37 MB / s | 2082297 | 31.42 | reymont pdf |
zstd 1.1.3 -1 | 157 MB / s | 486 MB / s | 2167385 | 32.70 | reymont pdf |
libdeflate 0.6 -1 | 100 MB / s | 512 MB / s | 2206932 | 33.30 | reymont pdf |
xpack 2016-06-02 -1 | 97 MB / s | 389 MB / s | 2279716 | 34.40 | reymont pdf |
broo 1.0 | 5.10 MB / s | 423 MB / s | 2289019 | 34.54 | reymont pdf |
brotli 0.5.2 -0 | 212 MB / s | 226 MB / s | 2360732 | 35.62 | reymont pdf |
zlib 1.2.8 -1 | 59 MB / s | 213 MB / s | 2376430 | 35.86 | reymont pdf |
gipfeli 2016-07-13 | 222 MB / s | 318 MB / s | 2644916 | 39.91 | reymont pdf |
quicklz 1.5.0 -1 | 284 MB / s | 399 MB / s | 3003825 | 45.33 | reymont pdf |
yalz77 2015-09-19 -1 | 76 MB / s | 347 MB / s | 3017083 | 45.53 | reymont pdf |
lzsse2 2016-05-14 -0 | 16 MB / s | 1735 MB / s | 3039392 | 45.86 | reymont pdf |
yappy 2014-03-22 -0 | 119 MB / s | 1252 MB / s | 3161344 | 47.70 | reymont pdf |
lz4 1.7.5 | 303 MB / s | 1611 MB / s | 3181387 | 48.00 | reymont pdf |
lz5 2.0 -10 | 265 MB / s | 1626 MB / s | 3184901 | 48.06 | reymont pdf |
snappy 1.1.3 | 208 MB / s | 729 MB / s | 3233787 | 48.80 | reymont pdf |
Test 8. Tar source archive Samba 2-2.3, srcAlgorithm Name | Packing speed | Unpacking speed | Compressed file size, byte | % of original | File Name, Type |
memcpy | 4048 MB / s | 4033 MB / s | 21606400 | 100.00 | samba src |
csc 2016-10-13 -1 | 17 MB / s | 60 MB / s | 4407241 | 20.40 | samba src |
lzlib 1.7 -0 | 26 MB / s | 46 MB / s | 5178819 | 23.97 | samba src |
lzma 9.38 -0 | 21 MB / s | 59 MB / s | 5338935 | 24.71 | samba src |
zstd 1.1.3 -1 | 257 MB / s | 715 MB / s | 5550637 | 25.69 | samba src |
xpack 2016-06-02 -1 | 107 MB / s | 568 MB / s | 5669295 | 26.24 | samba src |
libdeflate 0.6 -1 | 113 MB / s | 615 MB / s | 5922973 | 27.41 | samba src |
brotli 0.5.2 -0 | 304 MB / s | 285 MB / s | 6084327 | 28.16 | samba src |
broo 1.0 | 6.90 MB / s | 650 MB / s | 6186042 | 28.63 | samba src |
zlib 1.2.8 -1 | 73 MB / s | 276 MB / s | 6329455 | 29.29 | samba src |
gipfeli 2016-07-13 | 323 MB / s | 426 MB / s | 6810623 | 31.52 | samba src |
yalz77 2015-09-19 -1 | 81 MB / s | 512 MB / s | 7098899 | 32.86 | samba src |
quicklz 1.5.0 -1 | 366 MB / s | 497 MB / s | 7309452 | 33.83 | samba src |
lzsse2 2016-05-14 -0 | 14 MB / s | 2144 MB / s | 7395737 | 34.23 | samba src |
lz4 1.7.5 | 486 MB / s | 2035 MB / s | 7716839 | 35.72 | samba src |
lz5 2.0 -10 | 398 MB / s | 2246 MB / s | 7927178 | 36.69 | samba src |
snappy 1.1.3 | 353 MB / s | 1089 MB / s | 8008774 | 37.07 | samba src |
yappy 2014-03-22 -0 | 123 MB / s | 1769 MB / s | 9183273 | 42.50 | samba src |
Test 9. Star catalog of the Smithsonian Astrophysical Observatory, binAlgorithm Name | Packing speed | Unpacking speed | Compressed file size, byte | % of original | File Name, Type |
memcpy | 4096 MB / s | 4114 MB / s | 7251944 | 100.00 | sao bin |
lzma 9.38 -0 | 9.47 MB / s | 22 MB / s | 4923529 | 67.89 | sao bin |
lzlib 1.7 -0 | 10 MB / s | 16 MB / s | 5005573 | 69.02 | sao bin |
csc 2016-10-13 -1 | 5.69 MB / s | 17 MB / s | 5082846 | 70.09 | sao bin |
xpack 2016-06-02 -1 | 47 MB / s | 312 MB / s | 5259606 | 72.53 | sao bin |
libdeflate 0.6 -1 | 60 MB / s | 258 MB / s | 5494268 | 75.76 | sao bin |
zlib 1.2.8 -1 | 31 MB / s | 158 MB / s | 5567774 | 76.78 | sao bin |
brotli 0.5.2 -0 | 130 MB / s | 120 MB / s | 6019841 | 83.01 | sao bin |
gipfeli 2016-07-13 | 146 MB / s | 422 MB / s | 6043361 | 83.33 | sao bin |
broo 1.0 | 3.55 MB / s | 496 MB / s | 6086118 | 83.92 | sao bin |
yappy 2014-03-22 -0 | 68 MB / s | 1709 MB / s | 6201752 | 85.52 | sao bin |
zstd 1.1.3 -1 | 145 MB / s | 483 MB / s | 6254282 | 86.24 | sao bin |
yalz77 2015-09-19 -1 | 26 MB / s | 576 MB / s | 6299030 | 86.86 | sao bin |
snappy 1.1.3 | 212 MB / s | 969 MB / s | 6435266 | 88.74 | sao bin |
quicklz 1.5.0 -1 | 229 MB / s | 222 MB / s | 6498301 | 89.61 | sao bin |
lzsse2 2016-05-14 -0 | 15 MB / s | 941 MB / s | 6710542 | 92.53 | sao bin |
lz4 1.7.5 | 337 MB / s | 2161 MB / s | 6790273 | 93.63 | sao bin |
lz5 2.0 -10 | 236 MB / s | 2501 MB / s | 6792720 | 93.67 | sao bin |
Test 10. Webster's American English Dictionary, htmlAlgorithm Name | Packing speed | Unpacking speed | Compressed file size, byte | % of original | File Name, Type |
memcpy | 3970 MB / s | 4008 MB / s | 41458703 | 100.00 | webster, html |
csc 2016-10-13 -1 | 13 MB / s | 44 MB / s | 10360155 | 24.99 | webster, html |
lzma 9.38 -0 | 17 MB / s | 47 MB / s | 12704878 | 30.64 | webster, html |
lzlib 1.7 -0 | 22 MB / s | 38 MB / s | 12727596 | 30.70 | webster, html |
zstd 1.1.3 -1 | 169 MB / s | 531 MB / s | 13738284 | 33.14 | webster, html |
libdeflate 0.6 -1 | 99 MB / s | 524 MB / s | 13839192 | 33.38 | webster, html |
broo 1.0 | 5.42 MB / s | 266 MB / s | 13854195 | 33.42 | webster, html |
xpack 2016-06-02 -1 | 94 MB / s | 441 MB / s | 14006907 | 33.79 | webster, html |
brotli 0.5.2 -0 | 187 MB / s | 207 MB / s | 14559007 | 35.12 | webster, html |
zlib 1.2.8 -1 | 60 MB / s | 211 MB / s | 14991242 | 36.16 | webster, html |
gipfeli 2016-07-13 | 209 MB / s | 281 MB / s | 16152312 | 38.96 | webster, html |
lzsse2 2016-05-14 -0 | 14 MB / s | 1897 MB / s | 17459517 | 42.11 | webster, html |
quicklz 1.5.0 -1 | 276 MB / s | 369 MB / s | 18315816 | 44.18 | webster, html |
yalz77 2015-09-19 -1 | 62 MB / s | 315 MB / s | 18435248 | 44.47 | webster, html |
yappy 2014-03-22 -0 | 107 MB / s | 1378 MB / s | 19899610 | 48.00 | webster, html |
lz4 1.7.5 | 317 MB / s | 1593 MB / s | 20139988 | 48.58 | webster, html |
lz5 2.0 -10 | 260 MB / s | 1790 MB / s | 20153547 | 48.61 | webster, html |
snappy 1.1.3 | 214 MB / s | 765 MB / s | 20206466 | 48.74 | webster, html |
Test 11. Collection of xml files, xmlAlgorithm Name | Packing speed | Unpacking speed | Compressed file size, byte | % of original | File Name, Type |
memcpy | 4118 MB / s | 4113 MB / s | 5345280 | 100.00 | xml |
csc 2016-10-13 -1 | 27 MB / s | 99 MB / s | 606763 | 11.35 | xml |
lzma 9.38 -0 | 34 MB / s | 108 MB / s | 691236 | 12.93 | xml |
zstd 1.1.3 -1 | 363 MB / s | 887 MB / s | 703151 | 13.15 | xml |
lzlib 1.7 -0 | 39 MB / s | 73 MB / s | 741537 | 13.87 | xml |
broo 1.0 | 7.91 MB / s | 1277 MB / s | 800526 | 14.98 | xml |
brotli 0.5.2 -0 | 409 MB / s | 451 MB / s | 905757 | 16.94 | xml |
libdeflate 0.6 -1 | 143 MB / s | 856 MB / s | 940409 | 17.59 | xml |
zlib 1.2.8 -1 | 104 MB / s | 344 MB / s | 965248 | 18.06 | xml |
xpack 2016-06-02 -1 | 137 MB / s | 634 MB / s | 1000008 | 18.71 | xml |
yalz77 2015-09-19 -1 | 157 MB / s | 666 MB / s | 1067378 | 19.97 | xml |
gipfeli 2016-07-13 | 406 MB / s | 527 MB / s | 1100536 | 20.59 | xml |
quicklz 1.5.0 -1 | 452 MB / s | 712 MB / s | 1124708 | 21.04 | xml |
lzsse2 2016-05-14 -0 | 18 MB / s | 2870 MB / s | 1201125 | 22.47 | xml |
lz4 1.7.5 | 617 MB / s | 1991 MB / s | 1227495 | 22.96 | xml |
lz5 2.0 -10 | 524 MB / s | 2231 MB / s | 1240098 | 23.20 | xml |
snappy 1.1.3 | 414 MB / s | 1196 MB / s | 1308374 | 24.48 | xml |
yappy 2014-03-22 -0 | 155 MB / s | 1915 MB / s | 1605459 | 30.04 | xml |
Test 12. X-ray image, imageAlgorithm Name | Packing speed | Unpacking speed | Compressed file size, byte | % of original | File Name, Type |
memcpy | 4023 MB / s | 4106 MB / s | 8474240 | 100.00 | x-ray, image |
csc 2016-10-13 -1 | 16 MB / s | 21 MB / s | 4049630 | 47.79 | x-ray, image |
lzlib 1.7 -0 | 9.85 MB / s | 18 MB / s | 5079274 | 59.94 | x-ray, image |
lzma 9.38 -0 | 10 MB / s | 23 MB / s | 5198894 | 61.35 | x-ray, image |
xpack 2016-06-02 -1 | 48 MB / s | 243 MB / s | 5863367 | 69.19 | x-ray, image |
libdeflate 0.6 -1 | 63 MB / s | 267 MB / s | 5999750 | 70.80 | x-ray, image |
zlib 1.2.8 -1 | 35 MB / s | 145 MB / s | 6033932 | 71.20 | x-ray, image |
brotli 0.5.2 -0 | 139 MB / s | 121 MB / s | 6600523 | 77.89 | x-ray, image |
zstd 1.1.3 -1 | 419 MB / s | 569 MB / s | 6772286 | 79.92 | x-ray, image |
lzsse2 2016-05-14 -0 | 17 MB / s | 883 MB / s | 7292876 | 86.06 | x-ray, image |
quicklz 1.5.0 -1 | 264 MB / s | 219 MB / s | 7440632 | 87.80 | x-ray, image |
gipfeli 2016-07-13 | 165 MB / s | 486 MB / s | 7641391 | 90.17 | x-ray, image |
broo 1.0 | 3.47 MB / s | 487 MB / s | 7702715 | 90.90 | x-ray, image |
yalz77 2015-09-19 -1 | 23 MB / s | 491 MB / s | 7933653 | 93.62 | x-ray, image |
snappy 1.1.3 | 446 MB / s | 1869 MB / s | 8209180 | 96.87 | x-ray, image |
yappy 2014-03-22 -0 | 59 MB / s | 3200 MB / s | 8328582 | 98.28 | x-ray, image |
lz4 1.7.5 | 852 MB / s | 3457 MB / s | 8390195 | 99.01 | x-ray, image |
lz5 2.0 -10 | 540 MB / s | 4126 MB / s | 8459685 | 99.83 | x-ray, image |
“Afterword”
It should be noted that it is still damp and there is still enough work to improve, but it already gives a positive effect. There are still hours of generating and testing hypotheses, writing tests and optimizing code.
Thanks for attention.