ページ内コンテンツ
旧 tek1/compの内容
比較表
- サイズ
無圧縮 tek0 tek1 tek2 tek3 stk1 stk2 stk3 lh7 gzip bzip2 LZMA LZO rk hellok1 272 128 125 124 145 125 124 145 205 143 166 121 193 208 zero4k 4096 27 26 25 26 26 25 26 86 49 43 39 91 100 zero64k 65536 28 28 27 28 28 27 28 117 108 43 90 422 108 bim2binc 53792 15019 14475 14067 17229 14475 14067 17229 14181 14029 12903 12787 16015 11608 kdun00b 655360 46246 42098 41412 49993 42098 41412 49993 45520 44589 47306 34517 52148 36736 osaskgo 1973741 1149662 1097405 1092517 1318722 1097405 1092517 1318722 1099064 1111648 1047411 953821 1177820 909824 osask.bmp 393334 6389 5934 5612 8190 5934 5612 8190 6467 6341 4906 4779 8618 4344 num128 131072 106953 (40前後) (40前後) 40 94278 (94276) 131603 118548 124645 25542 84237 131136 1192
- 規格化指数
無圧縮 tek0 tek1 tek2 tek3 stk1 stk2 stk3 lh7 gzip bzip2 LZMA LZO rk hellok1 224.8 105.8 103.3 102.5 119.8 103.3 102.5 119.8 169.4 118.2 137.2 100.0 159.5 171.9 zero4k 16384 108.0 104.0 100.0 104.0 104.0 100.0 104.0 344.0 196.0 172.0 156.0 364.0 400.0 zero64k 242726 103.7 103.7 100.0 103.7 103.7 100.0 103.7 433.3 400.0 159.3 333.3 1563 400.0 bim2binc 463.4 129.4 124.7 121.2 148.4 124.7 121.2 148.4 122.2 120.9 111.2 110.2 138.0 100.0 kdun00b 1899 134.0 122.0 120.0 144.8 122.0 120.0 144.8 131.9 129.2 137.1 100.0 151.1 106.4 osaskgo 216.9 126.4 120.6 120.1 144.9 120.6 120.1 144.9 120.8 122.2 115.1 104.8 129.5 100.0 osask.bmp 9055 147.0 136.6 129.2 188.5 136.6 129.2 188.5 148.9 146.0 112.9 110.0 198.4 100.0 num128 327680 267383 100.0 235695 (235690) 329008 296370 311613 63855 210593 32840 2980 (max) 147.0 136.6 129.2 188.5 136.6 129.2 188.5 148.9 146.0 137.1 110.2 198.4 106.4
- (max)は、bim2binc、kdun00b、osaskgo、osask.bmpのみ対象(他はあまりにtek系が得意なため除外)
- (max)で判断すると安定して圧縮率のよいものは以下の順になる。
rk LZMA tek2 stk2 tek1 stk1 bzip2 gzip tek0 lh7 tek3 stk3 LZO 106.4 110.2 129.2 129.2 136.6 136.6 137.1 146.0 147.0 148.9 188.5 188.5 198.4 - ↑これは主にosask.bmpの結果で決まっているともいえるので、参考までにosask.bmpを除いて集計すると以下のようになる。
- しかし、「汎用圧縮符号」としては弱点があるというのは好ましくない。そしてosask.bmpの内容は多くの符号の共通の弱点を突く内容なのだろう。
rk LZMA tek2 stk2 tek1 stk1 gzip lh7 tek0 bzip2 tek3 stk3 LZO 106.4 110.2 121.2 121.1 124.7 124.7 129.2 131.9 134.0 137.1 148.4 148.4 151.1 - bzip2が落ちてlh7が少し回復する以外は、順位そのものの傾向は変わらない。
- しかし、「汎用圧縮符号」としては弱点があるというのは好ましくない。そしてosask.bmpの内容は多くの符号の共通の弱点を突く内容なのだろう。
- tar+tek2(.tar.tk/.ttk)
tar ttk lh7 tgz tbz tar.lzma bim2bi4j 266725 70030 90266 84581 72747 65314 osat45i 759808 528582 532093 528923 547131 503545 cantrbry 2821120 708236 714769 735997 568667 483768 - ディスクイメージへの強さが、tarへの強さにつながったのかも?
- ロングファイルネーム対応のSF16ができるまで.img.tk(.itk)は不便だろうから、とりあえず.tar.tk(.ttk)で。
- cantrbryはよく分からないけど有名な圧縮対象のようです。
- 展開速度
- 参考:EPIA-VE5000でのosaskgoの展開速度
meth. deco.time size vs rk score score2 言語 備考 tek3 0.15[sec] 1315527 144.6 4.5 21.7 ASKA Cでは0.22[sec] LZO 0.18[sec] 1177820 129.5 3.8 23.3 ? ←おそらくasm tek1 0.58[sec] 1097475 120.6 10.9 69.9 C ASKAは0.52[sec]以下 tek2 0.76[sec] 1092517 120.1 14.3 91.3 C ASKAは0.69[sec]以下 lh7 1.04[sec] 1099064 120.8 20.6 ? gzip 1.24[sec] 1111684 122.2 26.4 ? tek0 1.39[sec] 1149662 126.4 35.4 175.7 C LZMA 1.42[sec] 953821 104.8 6.6 148.8 C bzip2 2.52[sec] 1047411 115.1 37.3 290.1 ? GCA 4.91[sec] 1002311 110.2 49.6 ? - いずれも圧縮データを読み込む時間がデコードタイムに加算されてしまっています。
- したがって、tek3やLZOは小さくない誤差を含んでいる可能性が高い。
- 試しに1315527バイトのファイルリードだけやらせてみたら0.05[sec]だった。
- 「言語」はこの展開速度の測定につかったデコードルーチンの記述言語です。
- tek系についてはASKAで動かすのがメインなので、実用上はC版の1.5~2倍に上がります(アセンブラ版のライブラリパッケージも用意する予定)。
- たぶんLZOは既にアセンブラ化されていると思います(そうでないとこの圧縮率でこの速さは出ない)。bzip2はアセンブラ化されているかどうかは僕には想像がつきませんが、ブロックソート法では圧縮率の代償として展開速度低下があるという傾向はつかめると思います。
- GCA、gzip、lh7に関しては展開ルーチンの記述言語は不明です。
- score = (time - 0.05) x (vs_rk - 100)
- なんとなく計算してみたくなったので(笑)。小さければ小さいほど圧縮率と展開速度のバランスに優れていることを示していると思う。
- score2 = time x vs_rk
- scoreの指標がどれくらい実感に近いのかを確認するために計算した参考値。この指標で比較するとrkでの圧縮率に影響されないが、この指標ではあんなにがんばっているLZMAがtek2に劣ることになってしまう。これはいくらなんでも圧縮率の評価が弱すぎるわけだ。
- 参考:EPIA-VE5000でのosaskgoの展開速度
- 補足(履歴)
- 2004.06.20 tek1のC言語版展開ルーチンを改良(0.75[sec]→0.58[sec])
- 2004.06.20 tek2のC言語版展開ルーチンを改良(0.82[sec]→0.76[sec])
- 補足(履歴)
圧縮形式の説明
- 無圧縮
- tek0
- tek1
- tek2
- tek3
- stk1
- tek1でBS:0かつ補助バッファを使わないもの(subset-tek1)
- stk2
- tek2でBS:0かつ補助バッファを使わないもの(subset-tek2)
- stk3
- tek3でBS:0かつ補助バッファを使わないもの(subset-tek3)
- lh7
- gzip
- bzip2
- LZMA
- LZO
- rk
- 展開ルーチンのコンパクトさにこだわる人向けの情報
- stk3の展開ルーチンは135行(dtk3s.c)
- stk1/stk2の展開ルーチンセットは582行(dtk2s.c)
- tek1/tek2/tek3のフルセット展開ルーチンセットは1009行(dtkf.c)
- 展開速度はフルセット版もサブセット版もほぼ同じ
Counter: 157,
today: 2,
yesterday: 0
初版日時: 2004-06-23 (水) 23:48:34
最終更新: 2009-11-21 (土) 00:00:00 (JST) (319d) by ゲスト
|
ぺージ情報 | 閲覧可 | 編集可 | |||
---|---|---|---|---|---|---|
ぺージ名 : | tek1/oldlog/000 | グループ : | すべての訪問者 | グループ : | すべての訪問者 | |
ページ作成 : | ゲスト | ユーザー : | すべての訪問者 | ユーザー : | すべての訪問者 | |
ページ別名 : | 未設定 |