结果表明,某些算法在极端苛刻的CPU限制下仍能正常工作。文中进行比较的算有:JDK GZIP ――这是一个压缩比高的慢速算法,压缩后的数据适合长期使用。最后我想到,大多数人应该都会在本地安装有JDK的文档。因此我决定将javadoc的目录整个合并成一个文件――拼接所有文件。一开始我想把整个文件读进内存里,然后再进行压缩。不过结果表明这么做的话即便是4G的机器上也很容易把堆内存空间耗尽。同时,最快的defalte算法大概能到75Mb/秒,Snappy是150Mb/秒,而LZ4能达到难以置信的320Mb/秒!从表中可以清晰地看出目前有两种实现比较处于劣势:Snappy要慢于LZ4,并且压缩后的文件要更大。相反,LZ4要慢于级别1到4的deflate,而输出文件的大小即便和级别1的deflate相比也要大上不少。

通过Java测试几种压缩算法的性能(附测试代码下载)

通过Java测试几种压缩算法的性能(附测试代码下载)

通过Java测试几种压缩算法的性能(附测试代码下载)

通过Java测试几种压缩算法的性能(附测试代码下载)

通过Java测试几种压缩算法的性能(附测试代码下载)

通过Java测试几种压缩算法的性能(附测试代码下载)