Brooは可逆圧縮アルゴリズムです。 機能強化

前回の公開から6か月を少し過ぎました。 このすべての時間がアルゴリズムの改善に費やされたわけではありませんが、結果があります。 だから。


名前が「Broo」なのはなぜですか?


画像



ブルケシアと呼ばれる小さなトカゲの属があります。 ご存知のように、すべてのトカゲは動きが速く、サイズも小さく、さらにカメレオンファミリーのものです。


いくつかのアナロジーを作成しました。



はい、省略されています かっこいい エレガントな言葉。


ブルケシア緯度 ブルケシア )は、 カメレオン科のトカゲの属です。

小さなカメレオン。 属の最小種の1つである小さなブルケシアブルケシアミニマ )も、最小のトカゲの1つと見なされます。 [1]

それらは、短いわずかにねじれた尾、ならびに尾根に沿った二列の結節または棘、および目の上のギザギザの成長によって特徴付けられます。 色は通常茶色または茶色がかっており、落ち葉の下に隠れています。

マダガスカルと周辺の小さな島々に固有 。 彼らは、 森林のごみで、主に陸生の秘密の生活を送っています

変更の説明


それらは主に指向であり、これが速度を損なうことなく圧縮率に関して主な目標であり続けています。 係数が改善され、速度が維持され、安定した動作になりました。 そしてもちろん、彼らは多くの異なる理論をチェックしました。 理論的には、アルゴリズムはまだ改善の余地を提供しています。


PCの仕様


プロセッサーDualCore Intel Core i3 550、3200 MHz
メモリGoodRam 8119 Mb DDR3-1333 DDR3 SDRAM
OS Ubuntu 16.10 x64


測定値付きの表


前と同様に、測定にはlzbenchを使用します


シレジアのテストファイル。


テストファイルの簡単な説明とテーブルで与えられるアルゴリズムのいくつかは以前の出版物で見つけることができます。


2つだけを思い出してください。


Zstandard(Zstd)は、Facebookのサポートを受けて2015年以降Yann Colletによって開発されたロスレスデータ圧縮アルゴリズムです。 これは、LZ77タイプの語彙データ圧縮アルゴリズムと、tANSタイプ(FSE-有限状態エントロピー)の効率的なエントロピーコーディングを組み合わせたものです。

Brotli - LZ77アルゴリズムの最新バージョン、 Huffmanエントロピーコーディング 、および2次コンテキストのモデリングに基づいています。
Webページの読み込みを高速化するように設計されており、ChromiumベースのChromeブラウザーおよびFirefoxでサポートされています。

さらに、 silesiaパッケージの各ファイルの測定値を含む12のテーブル。 Broo 1.1アルゴリズムの現在のバージョン。


テスト1.チャールズ・ディケンズの作品集、ディケンズ(txt)。
アルゴリズム名スピード
包装
スピード
開梱
圧縮サイズ
ファイル、バイト
の%
オリジナル
memcpy4029 MB /秒4034 MB /秒10192446100.00
ブロー1.15.30 MB /秒298 MB /秒3,779,71608/37
lzlib 1.7 -07.76 MB / s34 MB /秒381533537.43
csc 2016-10-13 -118 MB /秒31 MB /秒402091639.45
lzma 9.38 -013 MB /秒38 MB /秒404485039.68
libdeflate 0.6 -185 MB /秒435 MB /秒423154341.52
zstd 1.1.3 -1143 MB /秒486 MB /秒427927341.98
xpack 2016-06-02 -183 MB /秒359 MB /秒428224542.01
brotli 0.5.2 -0168 MB /秒178 MB /秒4,401,26943.18
zlib 1.2.8 -150 MB /秒195 MB /秒458561844.99
ブロー1.06.03 MB / s265 MB /秒475093646.61
gipfeli 2016-07-13178 MB /秒254 MB /秒495563248.62
yalz77 2015-09-19 -162 MB /秒304 MB /秒563410955.28
quicklz 1.5.0 -1250 MB /秒326 MB /秒583135357.21
lzsse2 2016-05-14 -018 MB /秒1481 MB / s586570557.55
ヤッピー2014-03-22 -091 MB / s1122 MB /秒614185360.26
きびきび1.1.3179 MB / s648 MB /秒633783462.18
lz4 1.7.5264 MB /秒1652 MB / s642874263.07
lz5 2.0 -10216 MB /秒1855 MB /秒643186963.10

テスト2.実行可能ファイルであるTarアーカイブMozilla 1.0、mozilla(exe)。
アルゴリズム名スピード
包装
スピード
開梱
圧縮サイズ
ファイル、バイト
の%
オリジナル
memcpy3986 MB / s4042 MB / s51220480100.00
csc 2016-10-13 -111 MB /秒41 MB /秒1533119129.93
lzma 9.38 -017 MB /秒43 MB /秒1642527207/32
lzlib 1.7 -018 MB /秒33 MB /秒1647048432.16
xpack 2016-06-02 -176 MB /秒368 MB /秒1839187435.91
libdeflate 0.6 -192 MB /秒396 MB /秒1978012438.62
zstd 1.1.3 -1209 MB /秒542 MB /秒2012045939.28
zlib 1.2.8 -153 MB /秒209 MB /秒2057722640.17
ブロー1.12.66 MB / s325 MB /秒2060428340.23
brotli 0.5.2 -0217 MB /秒186 MB /秒2174012842.44
ブロー1.05.11 MB /秒350 MB /秒2317722045.25
gipfeli 2016-07-13236 MB /秒436 MB /秒2438055847.60
quicklz 1.5.0 -1315 MB /秒368 MB /秒2475681948.33
yalz77 2015-09-19 -149 MB /秒436 MB /秒2545453249.70
lzsse2 2016-05-14 -013 MB /秒1493 MB /秒2582664850.42
lz4 1.7.5437 MB /秒1876 MB /秒2643566751.61
きびきび1.1.3303 MB /秒1013 MB /秒2646192451.66
lz5 2.0 -10334 MB / s2097 MB / s2701624252.74
ヤッピー2014-03-22 -0107 MB /秒1749 MB / s2772821854.14

テスト3.画像MRI、mr(画像)。
アルゴリズム名スピード
包装
スピード
開梱
圧縮サイズ
ファイル、バイト
の%
オリジナル
memcpy4010 MB /秒4042 MB / s9970564100.00
lzlib 1.7 -020 MB /秒34 MB /秒313089731.40
lzma 9.38 -016 MB /秒44 MB /秒315762631.67
csc 2016-10-13 -112 MB /秒40 MB /秒328580532.96
xpack 2016-06-02 -182 MB /秒323 MB /秒352682835.37
libdeflate 0.6 -198 MB /秒428 MB /秒375098537.62
zlib 1.2.8 -160 MB /秒227 MB /秒382836638.40
zstd 1.1.3 -1191 MB /秒637 MB /秒382923138.41
brotli 0.5.2 -0198 MB /秒185 MB /秒397564339.87
ブロー1.14.90 MB /秒329 MB /秒404290940.55
gipfeli 2016-07-13220 MB /秒395 MB /秒470256147.16
ブロー1.05.94 MB / s305 MB /秒474121947.55
quicklz 1.5.0 -1410 MB /秒363 MB /秒477819447.92
lzsse2 2016-05-14 -024 MB /秒1523 MB /秒512028951.35
yalz77 2015-09-19 -158 MB /秒396 MB /秒526936852.85
きびきび1.1.3302 MB /秒912 MB /秒541983154.36
lz4 1.7.5422 MB /秒2024 MB /秒544093754.57
ヤッピー2014-03-22 -0108 MB /秒1609 MB /秒645412064.73
lz5 2.0 -10294 MB / s2248 MB / s697848669.99

テスト4.基本化学構造、nci(データベース)。
アルゴリズム名スピード
包装
スピード
開梱
圧縮サイズ
ファイル、バイト
の%
オリジナル
memcpy4042 MB / s4047 MB​​ /秒33553445100.00
ブロー1.18.57 MB / s982 MB /秒23826237.10
csc 2016-10-13 -139 MB /秒156 MB /秒24637737.34
lzma 9.38 -043 MB /秒153 MB /秒27779978.28
lzlib 1.7 -049 MB /秒103 MB /秒28687618.55
zstd 1.1.3 -1435 MB /秒915 MB / s28845308.60
ブロー1.08.65 MB / s1000 MB /秒29819708.89
xpack 2016-06-02 -1180 MB /秒807 MB /秒383884711.44
brotli 0.5.2 -0539 MB /秒575 MB /秒398419911.87
libdeflate 0.6 -1180 MB /秒1165 MB /秒406691312.12
zlib 1.2.8 -1122 MB /秒404 MB /秒462459713.78
yalz77 2015-09-19 -1197 MB /秒695 MB /秒505059615.05
gipfeli 2016-07-13529 MB / s681 MB /秒506382909/15
lz4 1.7.5765 MB /秒2496 MB /秒553304016.49
lz5 2.0 -10657 MB / s2644 MB /秒554581016.53
きびきび1.1.3560 MB /秒1452 MB / s614684418.32
quicklz 1.5.0 -1512 MB /秒799 MB /秒616063618.36
lzsse2 2016-05-14 -015 MB /秒2984 MB / s633980718.89
ヤッピー2014-03-22 -0179 MB / s1941 MB /秒896756226.73

テスト5. Open Office.org 1.01、ooffice(exe)のDLLファイル。
アルゴリズム名スピード
包装
スピード
開梱
圧縮サイズ
ファイル、バイト
の%
オリジナル
memcpy4054 MB / s4102 MB / s6152192100.00
csc 2016-10-13 -19.91 MB / s29 MB /秒230152337.41
lzma 9.38 -013 MB /秒31 MB /秒284157846.19
lzlib 1.7 -014 MB /秒24 MB /秒287948946.80
xpack 2016-06-02 -160 MB /秒342 MB /秒313796051.01
libdeflate 0.6 -169 MB /秒286 MB /秒318743451.81
zlib 1.2.8 -140 MB /秒151 MB / s329053253.49
ブロー1.13.89 MB / s284 MB /秒343624655.08
brotli 0.5.2 -0154 MB /秒143 MB /秒353961557.53
zstd 1.1.3 -1166 MB /秒487 MB / s357989958.19
ブロー1.04.93 MB / s412 MB /秒375720661.07
gipfeli 2016-07-13163 MB /秒354 MB /秒392227663.75
lzsse2 2016-05-14 -015 MB /秒1205 MB /秒399509164.94
quicklz 1.5.0 -1234 MB /秒264 MB /秒401385965.24
yalz77 2015-09-19 -135 MB /秒398 MB /秒412557067.06
ヤッピー2014-03-22 -082 MB /秒1718 MB /秒423568768.85
きびきび1.1.3222 MB /秒889 MB / s427115069.42
lz4 1.7.5337 MB /秒1671 MB / s433891870.53
lz5 2.0 -10251 MB /秒1997 MB /秒437007071.03

テスト6. Open Source Database Benchmark、osdbのMySQLデータベース形式の例。
アルゴリズム名スピード
包装
スピード
開梱
圧縮サイズ
ファイル、バイト
の%
オリジナル
memcpy4095 MB /秒4073 MB / s10085684100.00
csc 2016-10-13 -110 MB /秒38 MB /秒331780032.90
lzlib 1.7 -019 MB /秒33 MB /秒334596533.18
xpack 2016-06-02 -168 MB /秒475 MB /秒375287137.21
zstd 1.1.3 -1194 MB /秒585 MB /秒377056637.39
ブロー1.13.33 MB / s486 MB /秒386207338.29
libdeflate 0.6 -190 MB /秒470 MB /秒389680338.64
brotli 0.5.2 -0214 MB /秒224 MB /秒391050238.77
lzma 9.38 -015 MB /秒38 MB /秒398882339.55
zlib 1.2.8 -156 MB /秒211 MB /秒407639140.42
ブロー1.05.40 MB /秒474 MB /秒414746541.12
lzsse2 2016-05-14 -012 MB /秒1724 MB /秒449255144.54
gipfeli 2016-07-13232 MB /秒530 MB /秒451751744.79
yalz77 2015-09-19 -151 MB /秒596 MB /秒457019345.31
lz4 1.7.5359 MB /秒1629 MB / s525666652.12
lz5 2.0 -10278 MB /秒1842 MB /秒528673952.42
きびきび1.1.3303 MB /秒1110 MB /秒532932152.84
quicklz 1.5.0 -1277 MB /秒330 MB /秒549644354.50
ヤッピー2014-03-22 -070 MB /秒1794 MB / s751573574.52

テスト7.ポーランドの作家、ラディスローレイモント、ポーランド、レイモントのChłopiによる本のテキスト(PDF)。
アルゴリズム名スピード
包装
スピード
開梱
圧縮サイズ
ファイル、バイト
の%
オリジナル
memcpy4123 MB / s4120 MB / s6627202100.00
ブロー1.16.90 MB /秒470 MB /秒184038727.77
csc 2016-10-13 -115 MB /秒47 MB​​ /秒187232428.25
lzma 9.38 -015 MB /秒49 MB /秒192195429.00
lzlib 1.7 -022 MB /秒37 MB /秒208229731.42
zstd 1.1.3 -1157 MB /秒486 MB /秒216738532.70
libdeflate 0.6 -1100 MB /秒512 MB /秒220693233.30
xpack 2016-06-02 -197 MB /秒389 MB / s227971634.40
ブロー1.05.10 MB /秒423 MB /秒228901934.54
brotli 0.5.2 -0212 MB /秒226 MB /秒236073235.62
zlib 1.2.8 -159 MB / s213 MB /秒237643035.86
gipfeli 2016-07-13222 MB /秒318 MB /秒264491639.91
quicklz 1.5.0 -1284 MB /秒399 MB /秒300382545.33
yalz77 2015-09-19 -176 MB /秒347 MB​​ /秒301708345.53
lzsse2 2016-05-14 -016 MB /秒1735 MB / s303939245.86
ヤッピー2014-03-22 -0119 MB /秒1252 MB /秒316134447.70
lz4 1.7.5303 MB /秒1611 MB /秒318138748.00
lz5 2.0 -10265 MB /秒1626 MB /秒318490148.06
きびきび1.1.3208 MB /秒729 MB / s323378748.80

テスト8. TarソースアーカイブSamba 2-2.3、samba(src)。
アルゴリズム名スピード
包装
スピード
開梱
圧縮サイズ
ファイル、バイト
の%
オリジナル
memcpy4048 MB /秒4033 MB /秒21606400100.00
csc 2016-10-13 -117 MB /秒60 MB /秒440724120.40
ブロー1.15.80 MB /秒652 MB / s513703523.78
lzlib 1.7 -026 MB /秒46 MB /秒517881923.97
lzma 9.38 -021 MB /秒59 MB / s533893524.71
zstd 1.1.3 -1257 MB /秒715 MB /秒555063725.69
xpack 2016-06-02 -1107 MB /秒568 MB /秒566929526.24
libdeflate 0.6 -1113 MB /秒615 MB /秒592297327.41
brotli 0.5.2 -0304 MB /秒285 MB / s608432728.16
ブロー1.06.90 MB /秒650 MB /秒618604228.63
zlib 1.2.8 -173 MB / s276 MB /秒632945529.29
gipfeli 2016-07-13323 MB /秒426 MB /秒681062331.52
yalz77 2015-09-19 -181 MB /秒512 MB /秒709889932.86
quicklz 1.5.0 -1366 MB /秒497 MB /秒730945233.83
lzsse2 2016-05-14 -014 MB /秒2144 MB / s739573734.23
lz4 1.7.5486 MB /秒2035 MB / s771683935.72
lz5 2.0 -10398 MB /秒2246 MB / s792717836.69
きびきび1.1.3353 MB /秒1089 MB /秒800877407/07
ヤッピー2014-03-22 -0123 MB /秒1769 MB / s918327342.50

テスト9.スミソニアン天体物理観測所の星のカタログ、サン(ビン)。
アルゴリズム名スピード
包装
スピード
開梱
圧縮サイズ
ファイル、バイト
の%
オリジナル
memcpy4096 MB /秒4114 MB /秒7251944100.00
lzma 9.38 -09.47 MB​​ / s22 MB /秒492352967.89
lzlib 1.7 -010 MB /秒16 MB /秒500557369.02
csc 2016-10-13 -15.69 MB / s17 MB /秒508284670.09
xpack 2016-06-02 -147 MB​​ /秒312 MB /秒525960672.53
libdeflate 0.6 -160 MB /秒258 MB /秒549426875.76
zlib 1.2.8 -131 MB /秒158 MB / s556777476.78
ブロー1.12.18 MB /秒365 MB /秒571578378.82
brotli 0.5.2 -0130 MB /秒120 MB /秒601984183.01
gipfeli 2016-07-13146 MB /秒422 MB /秒604336183.33
ブロー1.03.55 MB /秒496 MB /秒608611883.92
ヤッピー2014-03-22 -068 MB /秒1709 MB / s620175285.52
zstd 1.1.3 -1145 MB /秒483 MB / s625428286.24
yalz77 2015-09-19 -126 MB /秒576 MB /秒6,299,03086.86
きびきび1.1.3212 MB /秒969 MB /秒643526688.74
quicklz 1.5.0 -1229 MB /秒222 MB /秒649830189.61
lzsse2 2016-05-14 -015 MB /秒941 MB /秒671054292.53
lz4 1.7.5337 MB /秒2161 MB /秒679027393.63
lz5 2.0 -10236 MB /秒2501 MB /秒679272093.67

テスト10.ウェブスターのアメリカ英語辞書、ウェブスター(html)。
アルゴリズム名スピード
包装
スピード
開梱
圧縮サイズ
ファイル、バイト
の%
オリジナル
memcpy3970 MB /秒4008 MB /秒41458703100.00
csc 2016-10-13 -113 MB /秒44 MB /秒1036015524.99
ブロー1.14.83 MB / s288 MB /秒1107615826.72
lzma 9.38 -017 MB /秒47 MB​​ /秒1270487830.64
lzlib 1.7 -022 MB /秒38 MB /秒1272759630.70
zstd 1.1.3 -1169 MB /秒531 MB /秒1373828433.14
libdeflate 0.6 -199 MB /秒524 MB /秒1383919233.38
ブロー1.05.42 MB /秒266 MB /秒1385419533.42
xpack 2016-06-02 -194 MB /秒441 MB /秒1400690733.79
brotli 0.5.2 -0187 MB /秒207 MB /秒1455900735.12
zlib 1.2.8 -160 MB /秒211 MB /秒1499124236.16
gipfeli 2016-07-13209 MB /秒281 MB /秒1615231238.96
lzsse2 2016-05-14 -014 MB /秒1897 MB / s1745951742.11
quicklz 1.5.0 -1276 MB /秒369 MB /秒1831581644.18
yalz77 2015-09-19 -162 MB /秒315 MB /秒1843524844.47
ヤッピー2014-03-22 -0107 MB /秒1378 MB /秒1989961048.00
lz4 1.7.5317 MB /秒1593 MB / s2013998848.58
lz5 2.0 -10260 MB /秒1790 MB /秒2015354748.61
きびきび1.1.3214 MB /秒765 MB /秒2020646648.74

テスト11. xmlファイルのコレクション、xml。
アルゴリズム名スピード
包装
スピード
開梱
圧縮サイズ
ファイル、バイト
の%
オリジナル
memcpy4118 MB / s4113 MB / s5345280100.00
csc 2016-10-13 -127 MB /秒99 MB /秒60676311.35
ブロー1.19.33 MB / s1260 MB /秒64441612.06
lzma 9.38 -034 MB /秒108 MB /秒69123612.93
zstd 1.1.3 -1363 MB /秒887 MB /秒70315113.15
lzlib 1.7 -039 MB /秒73 MB / s74153713.87
ブロー1.07.91 MB / s1277 MB /秒80052614.98
brotli 0.5.2 -0409 MB /秒451 MB /秒90575716.94
libdeflate 0.6 -1143 MB /秒856 MB /秒94040917.59
zlib 1.2.8 -1104 MB /秒344 MB /秒96524806/18
xpack 2016-06-02 -1137 MB /秒634 MB /秒100000818.71
yalz77 2015-09-19 -1157 MB /秒666 MB /秒106737819.97
gipfeli 2016-07-13406 MB /秒527 MB /秒110053620.59
quicklz 1.5.0 -1452 MB /秒712 MB / s112470804/21
lzsse2 2016-05-14 -018 MB /秒2870 MB /秒120112522.47
lz4 1.7.5617 MB /秒1991 MB /秒122749522.96
lz5 2.0 -10524 MB /秒2231 MB / s124009823.20
きびきび1.1.3414 MB /秒1196 MB /秒130837424.48
ヤッピー2014-03-22 -0155 MB /秒1915 MB /秒160545904/30

テスト12. X線画像、X線(画像)。
アルゴリズム名スピード
包装
スピード
開梱
圧縮サイズ
ファイル、バイト
の%
オリジナル
memcpy4023 MB / s4106 MB / s8474240100.00
csc 2016-10-13 -116 MB /秒21 MB /秒404963047.79
lzlib 1.7 -09.85 MB / s18 MB /秒507927459.94
lzma 9.38 -010 MB /秒23 MB /秒519889461.35
xpack 2016-06-02 -148 MB /秒243 MB /秒586336769.19
libdeflate 0.6 -163 MB /秒267 MB /秒599975070.80
zlib 1.2.8 -135 MB /秒145 MB /秒603393271.20
brotli 0.5.2 -0139 MB / s121 MB /秒660052377.89
zstd 1.1.3 -1419 MB /秒569 MB /秒677228679.92
ブロー1.13.01 MB /秒215 MB /秒698453982.42
lzsse2 2016-05-14 -017 MB /秒883 MB /秒729287686.06
quicklz 1.5.0 -1264 MB /秒219 MB /秒744063287.80
gipfeli 2016-07-13165 MB /秒486 MB /秒764139190.17
ブロー1.03.47 MB​​ /秒487 MB / s770271590.90
yalz77 2015-09-19 -123 MB /秒491 MB /秒793365393.62
きびきび1.1.3446 MB /秒1869 MB /秒820918096.87
ヤッピー2014-03-22 -059 MB / s3200 MB /秒832858298.28
lz4 1.7.5852 MB /秒3457 MB /秒839019599.01
lz5 2.0 -10540 MB /秒4126 MB /秒845968599.83

Broo 1.1アルゴリズムのみを使用した完全なSilesia.tar圧縮


アルゴリズム名スピード
包装
スピード
開梱
圧縮サイズ
ファイル、バイト
の%
オリジナル
memcpy3743 MB / s3816 MB /秒211948032100.00
csc 2016-10-13 -112 MB /秒45 MB /秒5617178426.50
lzlib 1.8 -021 MB /秒37 MB /秒6363633702/30
lzma 16.04 -017 MB /秒48 MB /秒6401381730.20
ブロー1.12.10 MB /秒365 MB /秒6951980232.80
xpack 2016-06-02 -188 MB /秒434 MB / s7107362233.53
libdeflate 0.7 -197 MB /秒494 MB /秒7331912434.59
zstd 1.3.1 -1228 MB /秒591 MB / s7364013834.74
zlib 1.2.11 -161 MB /秒228 MB /秒7725109836.45
brotli 2017-03-10 -0222 MB /秒215 MB /秒7839796336.99
gipfeli 2016-07-13239 MB /秒408 MB /秒8793735641.49
yalz77 2015-09-19 -162 MB /秒304 MB /秒9394922544.33
quicklz 1.5.0 -1319 MB /秒391 MB / s9473226044.70
lzsse2 2016-05-14 -00.85 MB /秒1700 MB /秒9474004944.70
lz4 1.7.5139 MB / s1885 MB /秒10088140847.60
きびきび1.1.4332 MB /秒997 MB / s10229561048.26
ヤッピー2014-03-22 -0108 MB /秒1626 MB /秒10942807451.63

Source: https://habr.com/ru/post/J341226/


All Articles