[osask 6954] bim2bin4d.

  こんばんは、川合です。


Hidemi KAWAI は 2004/05/17 02:39:55 の「[osask 6953] bim2bin4c.
」で書きました:

>  まずbim2bin4aではtek0に負けていたhellok1での逆転に成功しました
>。またzero4kやbballc2も負けていたのですが、追いつきました。zero6
>4kはまだ負けていますが1バイトなのでまあ悪くはないです。ビットス
>トリームとバイトストリームに分割する関係上、バイトストリームがど
>こから始まるかをヘッダに書かねばならず、もうこれ以上ヘッダを小さ
>くすることはできないように思います。

  いやあ、そんなことはありませんでした。最短符号検索ルーチンのバ
グを取り、さらにヘッダを改良して短形式と長形式を設けて工夫したと
ころ、ブロックサイズさえ十分に大きくとれば、常にtek0に負けないよ
うになりました(テストした範囲では)。

  ということでファイルフォーマットがまた変わったので、bim2bin4c
との互換性はありません。

  これで一通りの改良は済んだと思うので、このバージョンからはベー
タ版です(註:危険なツールではないので、ベータとは言っても今まで
どおりMLリリース扱いでかまいません)。

    http://k.hideyosi.com/bim2bi4d.lzh  (26.4KB)

  さて改善の結果です。例によってすべてブロックサイズ1MBです。

                      無圧縮     tek0     tek1     bz2

    hellok1.org          272      128      125      166
                        100%     47.1%    46.0%    61.0%    

    kdun00b.org       655360    46246    45787    47306
                        100%     7.06%    6.99%    7.22%

    zero4k.org          4096       27       26       43
                        100%     0.66%    0.63%    1.05%

    zero64k.org        65536       28       28       43
                        100%     0.043%   0.043%   0.066%

    bim2bin.c          53792    15019    14744    12903
                        100%     27.9%    27.4%    24.0%

    helloc4    tek0: 497    tek1: 493    改善率:0.80%
    helloc9    tek0: 176    tek1: 174    改善率:1.14%
    bballc0    tek0: 628    tek1: 618    改善率:1.59%
    bballc2    tek0: 295    tek1: 293    改善率:0.68%
    invader2   tek0:1699    tek1:1690    改善率:0.53%
    invader5   tek0:1258    tek1:1243    改善率:1.19%

  (bim2bin.cはbim2bin4cのものです。)

  zero64kで負けなくなったのが嬉しいです。またinvader5が1243にま
で改善しており、これはTownsOS版のinvaderのサイズにかなり迫ってい
ます。OSASKでtek1をサポートするとこれが使えるようになるわけです
から、期待大です。

  ブロックサイズを変更するには、

  prompt>bim2bin -osacmp in:kdun00b.org out:kdun00b.bin bsiz:1m

のように、オプション「bsiz:」を付けます。デフォルトはbsiz:32kに
なっています。

  まだ試してはいませんが、osaskgoやjpn16v00もtek1化するとさらに
小さく&解凍速度upできそうです。edimgもtek1対応ですね(edimgの
tek1対応はたぶんtek1のフォーマットさえ落ち着けばすぐにできます
。bim2binの関数をコピーすればいいだけなので)。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! osask.jp
Homepage http://osask.jp/

ML番号でジャンプ
ML単語検索