Zstandardとは?
2016年の8月にFacebookがオープンソース化した圧縮アルゴリズム。
リアルタイム圧縮を重要視しており、圧縮率を維持しながら、高い圧縮速度と伸長速度、使用メモリ量の削減を実現しているそうだ。
また特異な点として、辞書を作成することで、更に圧縮率を高めることが可能。
多様な言語(Java, Swift, Go等)で実装されているのもうれしいところ。
- 公式ページ
- Zstandard - Real-time data compression algorithm
- Github
- GitHub - facebook/zstd: Zstandard - Fast real-time compression algorithm
インストール方法
macの場合ではhomebrewで簡単にできる。
$ brew install zstd
使い方
圧縮
- ファイルを圧縮する。
$ zstd inputFile
# 出力ファイル名は inputFile.zstになる
- 出力ファイル名を指定して、圧縮する
$ zstd inputFile -o outputFile.zst
- 圧縮レベル[1-19](デフォルト:3)を指定して、圧縮する
$ zstd -11 inputFile
-
--ultra
オプションをつけることで圧縮レベルを20以上にすることもできる。(最大:22)
$ zstd --ultra -22 inputFile
- ディレクトリ内を再帰的に圧縮
※zstandardは圧縮アルゴリズムなので、ファイルアーカイブ機能はないです。
$ zstd -r inputDirectory
解凍
以下どちらでもOk.
# dはdecompress
$ zstd -d inputFile.zst
# unzipと同じ
$ unzstd inputFile.zst
参考
他の圧縮形式との比較はこちらを参照するといいかも。
最強の圧縮アルゴリズム ZStandard を試す - hidekatsu-izuno 日々の記録