我看过许多“快速压缩”库,但它们都具有快速解压缩而不是快速压缩。
我正在研究一种系统,其中快速压缩比快速解压缩更有价值。 有没有这样的算法?如果是这样,是否有C库实现它?
更新:我正在压缩物理内存页面,我要求压缩吞吐量等于或快于直接复制。我正在使用检测算法来发现具有低熵的页面,以保证我尝试压缩的页面实际上是可压缩的概率很高。
答案 0 :(得分:4)
嗯,你可以随心所欲地制作任何东西,但我不知道任何算法本身在压缩时速度快,在解压缩时速度慢。
如果您想象某种交易可以让压缩更快,如果您允许压缩速度更慢,那么不,没有。
lz4提供非常快速的压缩,甚至更快的解压缩。
答案 1 :(得分:2)
Large Text Compression Benchmark有很多关于压缩性能的数据,包括一些图表。虽然它专注于高压缩,但它应该让你很好地了解速度,内存使用和压缩比之间的权衡。压缩器大致分为两类:对称的压缩和解压缩需要相同的时间(这些也往往是高压缩的慢速),而非压缩的解压缩比压缩更快(这些更受欢迎) )。在任何情况下我都不知道压缩比解压缩速度快得多。
答案 2 :(得分:1)
您是否尝试过density?
这是一个压缩速度极快(比lz4快)的BSD库。 如following benchmark中所述,减压也非常快。
对于测试,有一个名为“sharc”的开源命令行客户端,也可以在github上使用。
答案 3 :(得分:0)
您可以做的最好的事情是查看压缩基准。他们报告至少两个数字:压缩大小和压缩速度。在你的情况下,解压缩速度无关紧要,只需看看压缩速度。
一些算法将形成Pareto Frontier。选择其中一个。