最快的 bzip2 解压缩器是什么?

发布于 2024-09-18 17:32:50 字数 746 浏览 13 评论 0原文

bzip2 的哪个实现解压速度最快?

有一个 http://bitbucket.org/james_taylor/seek- bzip2/src/tip/micro-bunzip.c 声称

尺寸和速度优化 Manuel Novoa III([电子邮件受保护])。 更高效地阅读霍夫曼 代码,简化的 read_bunzip() 功能以及其他各种调整。 在(有限的)测试中,大约 20% 在 x86 上比 bzcat 快约 10% 手臂上速度更快。请注意,大约 2/3 时间花在 read_unzip() 上 逆转巴罗斯-惠勒 转变。大部分时间都是 缓存未命中导致的延迟。

许多缓存未命中有机会通过某些技术进行优化,因此甚至可以实现更快的实现。

这个(seek-bzip2)还有一个有趣的功能,即在输入文件中轻松查找。

我的程序将消耗 bzip2 的输出,并且(理论上)可以在文件的不同部分并行执行此操作。因此,并行 bzip2 实现也被考虑。

谢谢。

Which implementation of bzip2 have the biggest decompression speed?

There is a http://bitbucket.org/james_taylor/seek-bzip2/src/tip/micro-bunzip.c which claims

Size and speed optimizations by
Manuel Novoa III ([email protected]).
More efficient reading of huffman
codes, a streamlined read_bunzip()
function, and various other tweaks.
In (limited) tests, approximately 20%
faster than bzcat on x86 and about 10%
faster on arm. Note that about 2/3 of
the time is spent in read_unzip()
reversing the Burrows-Wheeler
transformation. Much of that time is
delay resulting from cache misses.

A lot of cache misses have a chance to be optimized out by some techniques, so even faster implementations are possible.

This one (seek-bzip2) have also an interesting feature of easy seeking in the input file.

My program will consume output of bzip2 and (Theoretically) can do this in parallel on different parts of file. So, parallel bzip2 implementations are considered too.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

我要还你自由 2024-09-25 17:32:50

有一点 http://lists.debian.org/debian-mentors /2009/02/msg00135.html 比较。考虑并行版本。

还有一点http:// realworldtech.com/forums/index.cfm?action=detail&id=98883&threadid=98430&roomid=2

链接来自 intel cilk 并行版本的 bzip2 http://software.intel.com/en-us/articles/a-parallel-bzip2/

此外,Intel 的 ipp 支持的 bzip2 非常好,并且还尝试在 IPP(具有负面影响)中将 bzip2 的某些内部(无并行块解压缩)与 openmp(intel KMP 5)并行化。
当将其限制为一或两个线程时,20 MB/s 的解压缩流在 2.4 core2 上是真实的(ipp“v8”代码)

希望这会有所帮助。

There a bit http://lists.debian.org/debian-mentors/2009/02/msg00135.html of comparison. Parallel versions are considered.

A bit also there http://realworldtech.com/forums/index.cfm?action=detail&id=98883&threadid=98430&roomid=2

links are from intel cilk-parallel version of bzip2 http://software.intel.com/en-us/articles/a-parallel-bzip2/

Also, Intel's ipp-powered bzip2 is rathee good and also trys in IPP (with negative effect) to parallelize some insides of bzip2 (no parallel block decompression) with openmp (intel KMP 5).
When limiting it to one or two threads, 20 MByte/s of decompressed stream is real on 2.4 core2 (ipp "v8" code)

Hope this helps.

残花月 2024-09-25 17:32:50

lbzip2 是一个不错的选择。

sudo apt install lbzip2

lbzip2 -d <archive>

lbzip2 is a good alternative.

sudo apt install lbzip2

lbzip2 -d <archive>
提赋 2024-09-25 17:32:50

如果您可以访问多处理器计算机(很容易在 Amazon EC2 或 Digital Ocean 上运行多处理器虚拟机)/具有大量 RAM 的计算机,那么您绝对应该查看 PBZIP2

PBZIP2 是 bzip2 块排序文件压缩器的并行实现,它使用 pthreads 并在 SMP 机器上实现近线性加速


说明:我当前正在解压缩一个 17Gb 的大文件。 bzip2 以 10Mb/秒的速度写入解压文件; PBZIP2 现在正在以 160Mb/秒的速度写入。我这样运行它:

pbzip2 -v -d -k -m10000 file.bz2

-v 详细 -d 解压缩 -k 保留原始文件 -m1000使用 10Gb RAM

这在 Digital Ocean 上的 64Gb RAM、20 个 CPU 机器上运行,成本为 0.952 美元/小时。 :-)

If you have access to multi processor machines (it's easy to spin a multi processor virtual machine on Amazon EC2 or Digital Ocean) / machines with a lot of RAM, you should definitely check out PBZIP2:

PBZIP2 is a parallel implementation of the bzip2 block-sorting file compressor that uses pthreads and achieves near-linear speedup on SMP machines


To illustrate: I'm currently decompressing a large 17Gb file. bzip2 was writing the decompressed file at a rate of 10Mb/sec; PBZIP2 is writing it now at 160Mb/sec. I'm running it thus:

pbzip2 -v -d -k -m10000 file.bz2

i.e. -v verbose -d decompress -k keep the original file -m1000 use 10Gb of RAM

This is running on a 64Gb RAM, 20 CPU machine on Digital Ocean which costs $0.952/hour. :-)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文