java - Java 中使用的最快且内存效率最高的 BZip2 解压工具是什么

标签 java performance compression bzip2 apache-commons-compress

当前使用 Apache Commons 压缩包,在解压 BZip2 文件时,它使用了大约 60% 的总堆,大约需要 6 分钟才能解压大约 500 个文件,每个文件 4-5Mb。

我的主要问题是我找不到任何东西来比较这种性能,我找到了 AT4J,但是按照文档实现这一点会导致在尝试将其中一个文件读入缓冲区时出现 ArrayIndexOutOfBoundsException。对于它确实设法处理的少数文件,性能非常相似,而且 AT4J 包含 Commons Compress 中的压缩器类以提供“额外选项”这一事实意味着这是预期的。

有人知道任何其他用于解压缩 BZip2 文件的 Java 库吗?如果有的话,它们是否与 Apache 相比?

提前致谢。

最佳答案

不同压缩技术的基准表明他们解压 BZip2 的速度为 6 MB/s

https://tukaani.org/lzma/benchmarks.html

这表明,即使使用 native 库,您的 2.2 GB 数据也应该需要大约 6 分钟。

如果你想加快速度,我建议使用多线程或使用更快的 gzip。

关于java - Java 中使用的最快且内存效率最高的 BZip2 解压工具是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52552923/

相关文章:

java - 获取类外 JPanel 的宽度和高度

java - Java中用Scanner读取文本文件——Token的返回字符

java - 如何以编程方式连接到嵌入式 HornetQ 服务器

reactjs - 无法在 webpack 中压缩为 gzip

java - ZipOutputStream 的文件大小限制?

java - 如何在用户角色中实现开始和结束日期

c++ - 最近点算法 |如何改进?

python - 为什么 Python 3 比 Python 2 慢很多?

java - 为什么 VM 线程会减慢我的 Web 应用程序的速度?

ARM Cortex M3/4 的压缩库