圧縮ベンチマーク
自分のファイルを gzip、Brotli、Zstandard で好きなレベルで圧縮し、サイズ、圧縮率、速度、メモリをブラウザー内で比較します。
入力内容とファイルはブラウザ内に留まります
ファイルとコーデック
圧縮するファイル
任意のローカルファイル。ファイルはこのデバイスから出ません。
各コーデックとレベルは、メモリ上のサンプルのコピーに対してそれぞれ専用の Web Worker で実行されます。何もアップロード・保存されません。
高レベルは低速です: Brotli 10–11 や Zstandard 19–22 は 64 MiB で数分かかることがあります。小さめのサンプルから始めてください。
ファイルを選ぶと、各コーデックでどれだけ小さく、どれだけ速く圧縮できるかが表示されます。
| コーデック | レベル | サイズ | 圧縮率 | 削減 | 圧縮 | 速度 | 展開 | 速度 | WASM メモリ | 検証 | 保存 |
|---|
時間はコーデックの呼び出しのみを計測し、ファイルの読み込みは含みません。速度は圧縮・展開とも入力バイト数/秒です。WASM メモリは、新しい Worker で計測したその実行中(圧縮 / 展開)の WebAssembly ヒープの増加量です。ブラウザー内蔵コーデックにはこの値がありません。結果は実行ごと・デバイスごとに変わります。
このページの内容
圧縮ベンチマークは、選んだファイルを gzip、Brotli、Zstandard の複数レベルで圧縮し、圧縮後サイズ、圧縮率、削減量、圧縮・展開速度、WebAssembly メモリを並べて表示します。どのコーデックとレベルがあなたのデータに合うかを、アップロードせずにあなた自身のデータで確かめられます。
詳細な機能
ファイルの先頭 1〜256 MiB をメモリに読み込み、各コーデックとレベルを新しい Web Worker で実行します。gzip は zlib 互換の Deflate、Brotli は 4 MiB ウィンドウ、Zstandard はチェックサム付きで、いずれも WebAssembly にコンパイルされています。比較用にブラウザー自身の CompressionStream gzip も使います。計測するのはコーデックの呼び出しだけです。
検証をオンにすると、各結果を別の新しい Worker で展開し、長さと CRC-32 で元データと比較します。これにより展開速度も計測されます。各実行は空の WebAssembly ヒープから始まるため、メモリ列にはそのコーデックとレベルが実際に必要とした量が表示されます。
表では最小の出力と最速の圧縮が強調表示され、生の数値を含む CSV としてダウンロードできます。どの行からでも、その設定でファイル全体を圧縮し、.gz、.br、.zst として保存できます。
実用例
JSON API レスポンス: 16 MiB の JSON エクスポートでは、gzip 6 が約 8×、Brotli 9 が 11× 近く、Zstandard 3 は gzip に近いサイズを数倍の速度で実現。
ログ用のレベル選び: Zstandard のレベル 1、3、9、19 を比べると、CPU 時間を増やしてもサイズがほとんど減らなくなる境目がわかります。
圧縮済みデータ: JPEG や ZIP は 1.0× 前後の圧縮率になり、再圧縮は無駄だとわかります。
静的アセット: サーバーで事前圧縮アセットを設定する前に、バンドル済み JavaScript ファイルで Brotli 11 と gzip 9 を比較。
このツールの使い方
ファイルを選ぶ
任意のファイルをドロップまたは選択します。既定のコーデックとレベルですぐにベンチマークが始まります。
コーデックとレベルを選ぶ
コーデックをオン・オフし、1、6、9 のようなレベルや 3-5 のような範囲を入力します。ファイルのどれだけをテストするかも選べます。
実行して比較する
「ベンチマークを実行」を選びます。各実行が終わるたびに行が追加され、最小と最速の結果が強調表示されます。
保存する
表を CSV でダウンロードするか、行の「保存」を選んでその設定でファイル全体を圧縮します。
ヒントとベストプラクティス
- テキスト、JSON、CSV、ログはよく圧縮できますが、画像、動画、アーカイブはほとんど小さくなりません。
- Brotli と Zstandard は高レベルでは圧縮よりも展開がはるかに速く、一度圧縮して何度も読むファイルに向いています。
- 計測時間はデバイスとブラウザーによって変わります。同じマシンでの実行同士を比較してください。
- アーカイブの中身を見たり展開したりするには、「アーカイブエクスプローラー」を使ってください。