InfoQ ホームページニュースGoogle Snappy: 高速圧縮ライブラリ
Google Snappy: 高速圧縮ライブラリ
2011年4月13日読了時間1分
作者:
翻訳者
GoogleはSnappyという圧縮/伸長ライブラリをオープンソース化した。シングルコアのIntel Core i7プロセッサにおいて、少なくとも250MB/s-500MB/sでデータストリームを処理できるという。
SnappyはこれまでZippyという名前で知られており、Googleが実際にBigTable、MapReduce、RPCなど数多くのプロジェクトで内部的に使っている圧縮ライブラリだ。Googleによると、このライブラリとアルゴリズムは圧縮サイズや他のツールとの互換性ではなく、速度についてチューニングされているそうだ。Snappyは64-bit x86プロセッサ向けに最適化されており、シングルコアのIntel Core i7プロセッサにおいて少なくとも圧縮で250MB/s、伸長で500MB/sを実現している。
この高速な圧縮は圧縮率を下げることで実現されており、圧縮後のサイズは他の圧縮ライブラリよりも20-100%大きくなる。Snappyの圧縮率はプレーンテキストで「1.5-1.7x、HTMLで約2-4x、JPEGやPNGなど圧縮済みデータで1.0x」だという。
GoogleはSnappyを「壊れたり悪意のある入力でもクラッシュしないように設計」していて堅牢であり、Googleのプロダクション環境で何ペタバイトものデータを圧縮するのに使えるほど安定していると宣伝している。
もしzlib、LZO、LZF、FastLZ、QuickLZといった各種圧縮ライブラリが同じマシンにインストールされていれば、Snappyはそれらとのベンチマークに使うことができる。ツールは製品にリンクされるC++ライブラリとして提供されるが、それ以外にも、Haskell、Java、Perl、Python、Rubyへのバインディングがある。
Snappyは新BSDライセンスでオープンソース化されている。
関連記事
関連スポンサーコンテンツ
特集コンテンツ一覧
効率的なモバイルストリーミングアプリケーションの構築
投稿日2025年5月5日 午後3時5分
AIトレンドがソフトウェアチームに変革をもたらす
投稿日2025年5月5日 午後3時0分
アーキテクチュラル・インテリジェンス – 次のAI
投稿日2025年1月9日 午前12時8分
プラットフォーム・エンジニアリングによる開発者エクスペリエンス向上
投稿日2024年12月5日 午後12時49分バーチャルパネル:大規模言語モデルを採用する際の考慮点
投稿日2024年11月19日 午前5時30分
スタッフ・エンジニアへの道におけるリスクと失敗
投稿日2024年10月7日 午前4時35分
InfoQ ニュースレター
毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。サンプルを見る