Google Snappy - 一個高速壓縮庫

Snappy 已經被Google開源,作爲一個壓縮庫,它可以利用單顆Intel Corei7處理器內核處理至少每秒250MB~500MB的數據流。

Snappy 的前身是Zippy。雖然只是一個 數據壓縮庫,它卻被Google用於許多內部項目程,其中就包括BigTable,MapReduce和RPC。Google宣稱它在這個庫本身及其算法 做了數據處理速度上的優化,作爲代價,並沒有考慮輸出大小以及和其他類似工具的兼容性問題。Snappy特地爲64位x86處理器做了優化,在單個 Intel Core i7處理器內核上能夠達到至少每秒250MB的壓縮速率和每秒500MB的解壓速率。

如果允許損失一些壓縮率的話,那麼可以達到更高的壓縮速度,雖然生成的壓縮文件可能會比其他庫的要大上20%至100%,但是,相比其他的壓縮庫,Snappy卻能夠在特定的壓縮率 下擁有驚人的壓縮速度,“壓縮普通文本文件的速度是其他庫的1.5-1.7倍,HTML能達到2-4倍,但是對於JPEG、PNG以及其他的已壓縮的數據,壓縮速度不會有明顯改善”。

Google極力讚揚Snappy的各種優點,Snappy從一開始就被“設計爲即便遇到損壞或者惡意的輸入文件都不會崩潰”,而且被Google在生產環境中用於壓縮PB級的數據。其健壯性和穩定程度可見一斑。

Snappy也可以用於和其他壓縮庫-zlib、LZO、LZF、FastLZ和QuickLZ-做對比測試,前提是你在機器上安裝了這些壓縮庫。Snappy是一個C++的庫,你可以在產品中使用,不過也有一些其他語言的版本,例如HaskellJavaPerlPythonRuby

Snappy採用新BSD協議 開源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章