特定のJSONの圧縮効率を調べてみる(snappy、gzip、xz、lz4、zstd)
snappyが入っているのは察してほしい
データの詳細は後で書く。(これも察して欲しい。だいぶ偏ったデータではある)
これから詳細をちゃんと書くが、一旦ここにおく
マシンスペック
iMac使っています。
% system_profiler SPHardwareDataType Hardware: Hardware Overview: Model Name: iMac Model Identifier: iMac14,2 Processor Name: Intel Core i5 Processor Speed: 3.2 GHz Number of Processors: 1 Total Number of Cores: 4 L2 Cache (per Core): 256 KB L3 Cache: 6 MB Memory: 8 GB Boot ROM Version: IM142.0118.B00 % sysctl machdep.cpu.brand_string machdep.cpu.brand_string: Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz
結果
圧縮方式 | 圧縮時間(秒) | 伸長時間(秒) | 圧縮後サイズ(KB) |
---|---|---|---|
なし | 159320(156KB) | ||
snappy | 18913(18K) | ||
gzip | 9982(9.7K) | ||
xz | 7024(6.9K) | ||
lz4 | 23095(23K) | ||
zstd | 9960(9.7K) |
実行時間の結果
圧縮時
Warming up -------------------------------------- snappy 22.000 i/100ms gzip 20.000 i/100ms xz 2.000 i/100ms lz4 24.000 i/100ms zstd 21.000 i/100ms Calculating ------------------------------------- snappy 802.750 (±115.7%) i/s - 1.254k in 5.373229s gzip 295.138 (±40.7%) i/s - 980.000 in 5.055020s xz 22.329 (± 4.5%) i/s - 112.000 in 5.030328s lz4 949.545 (±110.1%) i/s - 1.224k in 5.053683s zstd 892.079 (±117.1%) i/s - 1.302k in 5.069196s
伸長時
Warming up -------------------------------------- snappy 851.000 i/100ms gzip 414.000 i/100ms xz 111.000 i/100ms lz4 861.000 i/100ms zstd 577.000 i/100ms Calculating ------------------------------------- snappy 10.356k (±16.0%) i/s - 51.060k in 5.081812s gzip 4.655k (±10.2%) i/s - 23.184k in 5.039399s xz 1.188k (± 7.7%) i/s - 5.994k in 5.080418s lz4 10.312k (±12.0%) i/s - 50.799k in 5.000477s zstd 6.597k (± 8.4%) i/s - 32.889k in 5.023823s