mkuzip の最大が 129536 に落ちた様だ ― 2019年04月30日 12時40分11秒
これは MAXPHYS ブロック毎に圧縮されているのが背景にある。
そして、これに gzip のヘッダが追加される。そこで、130560 から gzip ヘッダ分を考慮した 512 を引いた数で大丈夫だった。圧縮のほとんど効かなかったブロックでも、130048 に収まっていた。
# define MAXPHYS 512 * 1024
mkzuip が xz 圧縮をサポートした頃に gzip の動作も変わってしまった様に見える。ヘッダが微妙に大きくなってしまったのか、圧縮効率が微妙に悪くなったのか。まあ、動作すれば良いので、詳しくは調べていない。そのため、1024 を引いた mkuzip -s 129536
が現状でのブロックの最大の大きさだ。
なお、xz をサポートしたときに、ブロック単位の並列圧縮処理の実装が入った。xz は圧縮に時間がかかるので、CPU の数に余裕がある機械では、大幅に圧縮時間が短縮されている。
最近のコメント