コマンド xz の圧縮率と圧縮速度

それなりにサイズのあるテキストファイル(335,388,465 bytes,日本語,UTF-8)を gzip, bzip2, xz で圧縮して,圧縮後のサイズ(%)と圧縮時間(秒)を表にしました.

圧縮後のサイズ(%)

圧縮レベル gzip bzip2 xz xz -e
0 - - 34.2 29.6
1 41.4 29.7 33.2 29.6
2 39.8 28.4 30.3 26.7
3 38.1 27.7 26.1 26.0
4 36.6 27.3 25.4 25.2
5 35.6 27.1 24.8 24.6
6 34.7 26.8 24.1 24.1
7 34.6 26.6 23.6 23.5
8 34.5 26.5 23.1 23.0
9 34.5 26.4 22.6 22.5

圧縮時間(秒)

圧縮レベル gzip bzip2 xz xz -e
0 - - 50 237
1 13 58 56 235
2 14 56 67 303
3 19 56 291 337
4 19 57 325 375
5 27 57 351 415
6 45 57 414 453
7 54 60 456 491
8 65 59 498 535
9 65 62 548 582

xz の実行結果

$ xz -cv0 TEXT_FILE > /dev/null
  100.0 %  109.4 MiB / 319.9 MiB = 0.342  6.4 MiB/s  0:50
$ xz -cv1 TEXT_FILE > /dev/null
  100.0 %  106.3 MiB / 319.9 MiB = 0.332  5.7 MiB/s  0:56
$ xz -cv2 TEXT_FILE > /dev/null
  100.0 %   97.1 MiB / 319.9 MiB = 0.303  4.8 MiB/s  1:07
$ xz -cv3 TEXT_FILE > /dev/null
  100.0 %   83.5 MiB / 319.9 MiB = 0.261  1.1 MiB/s  4:51
$ xz -cv4 TEXT_FILE > /dev/null
  100.0 %   81.2 MiB / 319.9 MiB = 0.254  1.0 MiB/s  5:25
$ xz -cv5 TEXT_FILE > /dev/null
  100.0 %   79.3 MiB / 319.9 MiB = 0.248  931 KiB/s  5:51
$ xz -cv6 TEXT_FILE > /dev/null
  100.0 %   77.1 MiB / 319.9 MiB = 0.241  790 KiB/s  6:54
$ xz -cv7 TEXT_FILE > /dev/null
  100.0 %   75.5 MiB / 319.9 MiB = 0.236  718 KiB/s  7:36
$ xz -cv8 TEXT_FILE > /dev/null
  100.0 %   73.9 MiB / 319.9 MiB = 0.231  657 KiB/s  8:18
$ xz -cv9 TEXT_FILE > /dev/null
  100.0 %   72.4 MiB / 319.9 MiB = 0.226  597 KiB/s  9:08
$ xz -cv0e TEXT_FILE > /dev/null
  100.0 %   94.7 MiB / 319.9 MiB = 0.296  1.3 MiB/s  3:57
$ xz -cv1e TEXT_FILE > /dev/null
  100.0 %   94.7 MiB / 319.9 MiB = 0.296  1.4 MiB/s  3:55
$ xz -cv2e TEXT_FILE > /dev/null
  100.0 %   85.3 MiB / 319.9 MiB = 0.267  1.1 MiB/s  5:03
$ xz -cv3e TEXT_FILE > /dev/null
  100.0 %   83.0 MiB / 319.9 MiB = 0.260  971 KiB/s  5:37
$ xz -cv4e TEXT_FILE > /dev/null
  100.0 %   80.7 MiB / 319.9 MiB = 0.252  873 KiB/s  6:15
$ xz -cv5e TEXT_FILE > /dev/null
  100.0 %   78.8 MiB / 319.9 MiB = 0.246  788 KiB/s  6:55
$ xz -cv6e TEXT_FILE > /dev/null
  100.0 %   77.0 MiB / 319.9 MiB = 0.241  721 KiB/s  7:33
$ xz -cv7e TEXT_FILE > /dev/null
  100.0 %   75.3 MiB / 319.9 MiB = 0.235  666 KiB/s  8:11
$ xz -cv8e TEXT_FILE > /dev/null
  100.0 %   73.7 MiB / 319.9 MiB = 0.230  612 KiB/s  8:55
$ xz -cv9e TEXT_FILE > /dev/null
  100.0 %   72.1 MiB / 319.9 MiB = 0.225  562 KiB/s  9:42