mkuzip の最大が 129536 に落ちた様だ2019年04月30日 12時40分11秒

以前は mkuzip の最大のブロックサイズは 130048 だった。

これは MAXPHYS ブロック毎に圧縮されているのが背景にある。

# define MAXPHYS                               512 * 1024
そして、これに gzip のヘッダが追加される。そこで、130560 から gzip ヘッダ分を考慮した 512 を引いた数で大丈夫だった。圧縮のほとんど効かなかったブロックでも、130048 に収まっていた。

mkzuip が xz 圧縮をサポートした頃に gzip の動作も変わってしまった様に見える。ヘッダが微妙に大きくなってしまったのか、圧縮効率が微妙に悪くなったのか。まあ、動作すれば良いので、詳しくは調べていない。そのため、1024 を引いた mkuzip -s 129536 が現状でのブロックの最大の大きさだ。

なお、xz をサポートしたときに、ブロック単位の並列圧縮処理の実装が入った。xz は圧縮に時間がかかるので、CPU の数に余裕がある機械では、大幅に圧縮時間が短縮されている。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2019/04/30/9066351/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。