开发者生态
morning
压缩包3
摘要
A better, faster and stronger spiritual successor to BZip2. Features higher compression ratios and better performance thanks to a order-0 context mixing entropy coder, a fast Burrows-Wheeler transform...
tar
system
all
and
bzip3
user
cpu
memory
total
code
2026-09-07
1 阅读
约10分钟阅读
tosh
字号:
BZip2 更好、更快、更强的精神继承者。得益于 0 阶上下文混合熵编码器、使用后缀数组的快速 Burrows-Wheeler 变换代码以及基于 LZ77 样式字符串匹配和 PPM 样式上下文建模的带有 Lempel Ziv+Prediction 通道的 RLE,具有更高的压缩比和更好的性能。与其祖先一样,BZip3 擅长压缩文本或代码。 # 如果使用 git 克隆(源包不需要),首先... $ ./bootstrap.sh # All... $ ./configure $ make $ sudo make install 或者,您可以使用系统的包管理器安装 bzip3: 在 macOS 上,您可以使用 Homebrew 轻松安装: Perl 源代码基准测试 首先,我已经下载了 Perl5 曾经发布的每个版本并解压它们。 % wget -r -l1 -nH --cut-dirs=2 --no-parent -A.tar.gz --no-directories https://www.cpan.org/src/5.0/ % for g in * .gz ;执行gunzip $g;完成 % ls -la | wc -l 262 然后,我将所有生成的 .tar 文件放入一个 .tar 文件中,并尝试使用各种压缩器对其进行压缩: xz -T16 -9 -k all.tar 10829.91s user 26.91s system 1488% cpu 14658M memory 12:09.24 Total bzip2 -9 -k all.tar 981.78s user 9.77s 系统 95% cpu 8M 内存 17:16.64 总计 bzip3 -e -b 256 -j 12 all.tar 2713.81s 用户 16.28s 系统 634% cpu 18301M 内存 7:10.10 总计 bzip3 -e -b 511 -j 4 all.tar 17.65s 用户12.19s 系统 170% cpu 12178M 内存 7:08.65 总计 zstd -T12 -16 all.tar 4162.94s 用户 16.40s 系统 1056% cpu 687M 内存 6:35.62 总计 结果如下: 方法 压缩大小(字节) LZMA (xz) 2'056'645'240 bzip2 3'441'163'911 bzip3 -b 256 1'001'957'587 bzip3 -b 511 546'456'978 Zstandard 3'076'143'660 最后,挂钟时间解压时间(WD Blue HDD):方法解压时间LZMA (xz) 4min 40s bzip2 9min 22s bzip3 (parallel) 4min 06s Zstandard 3min 51s 然后,我使用 lrzip 对原始 .tar 文件执行远程重复数据删除: % time lrzip -n -o all_none.tar.lrz all.tar 546.17s user 160.87s system 102% cpu 10970M 内存 11:28.00 总 % 时间 lrzip --lzma -o all_lzma.tar.lrz all.tar 702.16s 用户 161.87s 系统 122% cpu 10792M 内存 11:44.83 总 % 时间 lrzip -b -o all_bzip2.tar.lrz all.tar 563.93s 用户 147.38s 系统 112% cpu 10970M 内存 10:34.10 总计 最后,我使用 bzip3 压缩生成的 none.tar.lrz 文件: % time bzip3 -e -b 256 -j 2 all_none.tar.lrz 32.05s 用户 0.76s 系统 146% cpu 2751M内存 22.411 总计 结果如下: 方法 压缩大小(字节) lrzip + bzip3 60'672'608 lrzip + lzma 64'774'202 lrzip + bzip2 75'685'065 有关针对 Turbo-Range-Coder 和 BSC 的进一步基准测试,请检查 powturbo 的 bzip3、bzip2、bsc 等基准测试。对于因使用本程序/库而导致的任何数据丢失,无论何种原因造成,我不承担任何责任。文件的每次压缩都意味着假设压缩文件可以被解压缩以再现原始文件。为了确保该程序正确运行,我们在设计、编码和测试方面付出了巨大的努力。然而,算法的复杂性,特别是代码中以非常低但非零的概率发生的各种特殊情况的存在,使得不可能排除程序中残留错误的可能性。请勿使用此程序压缩任何数据,除非您准备好接受数据无法恢复的可能性,无论这种可能性有多小。这并不是说这个程序本质上不可靠。事实上,我非常希望事实恰恰相反。 Bzip3/libbz3 经过精心构建和广泛测试。 Bzip3 的性能很大程度上依赖于编译器。 x64 Linux clang13 构建通常可以达到每线程 17MiB/s 的压缩速度和 23MiB/s 的解压缩速度。 Windows 和 32 位构建可能会慢得多。 Bzip3 已在以下架构上进行了测试: x86 x86_64 armv6 armv7 aarch64 ppc64le mips mips64 sparc s390x 检查 etc/BENCHMARKS.md 以获取更多结果。组件及其许可证的细分如下:(运行时)整个代码库:版权所有 2022-2023,Kamila Szewczyk ( k@iczelia.net ); LGPL(许可证)(运行时)Burrows-Wheeler 变换 (libsais) 和 LZP 代码:2021-2022,Ilya Grebnov ( ilya.grebnov@gmail.com ); Apache 2.0 (3rdparty/libsais-LICENSE) (编译时) build-aux :版权所有 2011,Daniel Richard G (skunk@iSKUNK.ORG),2019,Marc Stevens (marc.stevens@cwi.nl),2008,Steven G. Johnson (stevenj@alum.mit.edu); GPL-3+ 与 AutoConf 例外(编译时) build-aux/ax_check_compile_flag.m4 :版权所有 2008,Guido U. Draheim (guidod@gmx.de),2011,Maarten Bosmans (mkbosmans@gmail.com); FSFAP(编译时)build-aux/git-version-gen:版权所有 2007-2012,自由软件基金会; GPLv3(运行时)bz3grep:版权所有 2003,Thomas Klausner; BSD-2-clause bzip3 作为一个整体仅在 LGPLv3 下获得许可。它不是 LGPLv3 和 Apache 2
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱