2011-02-23 508 views

回答

9

lzo和lzf是兩個衆所周知的非常簡單的壓縮算法。 lzf在壓縮過程中使用的內存不足。 lzo的最大解碼速度。 兩者都很快,都沒有什麼內存要求,都有可比的壓縮率(這意味着很差)。

你可以看看他們與這裏其他壓縮機例如一個直接的比較: http://phantasie.tonempire.net/t96-compression-benchmark#149

+1

我用「非常差」不同意爲預選賽:它做什麼的gzip /放氣的50%,但包括部分(朗佩爾-ZIV子壓縮)通常會產生大部分壓縮,因爲第二部分(赫夫曼編碼)速度較慢,對壓縮的影響較小。所以,低於gzip(和bzip2)是真實的,但「非常慢」是一個主觀/相對的陳述。 – StaxMan 2014-08-16 21:19:05

2

兩者都是基本的Lempel-謝夫壓縮機,這使得運行速度快(因爲使用霍夫曼編碼的無第二階段(作爲gzip/zip)或者統計編碼器)以適度壓縮。

比較java上的編解碼器的一個基準是jvm-compressor-benchmark。 LZO尚未包含在內,但純Java LZF具有出色的性能(尤其是壓縮速度),並且假設有LZO驅動程序,我認爲LZO也可能會表現出色。

另一種基於LZ的算法是Google的Snappy,它的本地編解碼器是解壓縮速度最快的編解碼器(壓縮速度與純Java LZF壓縮一樣快)。

9

是否還有像他們這樣的其他算法(光和快)?

還有LZ4和Google的snappy。根據LZ4作者在項目主頁和發行號爲HADOOP-7657的Hadoop開發人員發佈的基準,LZ4似乎是其中最快的。

+1

可以在https://github.com/ning/jvm-compressor-benchmark找到比較這些替代方案的特定基準測試套件。目前LZ4確實是最快的。 – StaxMan 2014-08-17 04:10:24

+0

不錯的基準,謝謝! – ogrisel 2014-09-09 23:47:01

相關問題