🍋

CAl (2)压缩算法

 
GZIP、Snappy、LZ4 这三种压缩算法
  • Snappy是由Google开发的开源算法,旨在以合理的压缩比优化压缩速度。它在数据库和分析应用程序中非常流行。

Hive压缩

压缩性能的比较
压缩算法
原始文件大小
压缩文件大小
压缩速度
解压速度
gzip
8.3GB
1.8GB
17.5MB/s
58MB/s
bzip2
8.3GB
1.1GB
2.4MB/s
9.5MB/s
LZO
8.3GB
2.9GB
49.3MB/s
74.6MB/s
 
下面是几种算法的一个比较,然后Kafka是按照batch对消息进行压缩的。
notion image

压缩算法性能对比

notion image
 

Ubuntu压缩

Ubuntu Kernel 团队对 initramfs 的六种压缩方法进行了基准测试,包括 BZIP2,GZIP,LZ4,LZMA,LZMO 和 XZ,以测量 Linux 内核的加载时间以及解压缩时间。主要使用 x86 TSC(Time Stamp Counter)在 x86 设备上进行基准测试。
根据测试结果,团队发现 LZ4 是 Ubuntu 19.10(Eoan Ermine)的最佳压缩/解压缩方法,这是因为 BZIP2,LZMA 和 XZ 的解压缩速度很慢,因此在进一步的测试中很快就被排除了。在压缩大小方面,GZIP 效果最好,能将文件压缩至最小,其次是 LZO(大约比 GZIP 大 16%)和LZ4(大约比 GZIP 大 25%),而在压缩时间方面,LZ4 比 GZIP 快 7 倍,LZO 比 GZIP 快约 1.25 倍,因此可以看到 GZIP 的速度不够快。
notion image

Arch Linux 计划将 zstd 作为默认压缩算法

过去几周,Arch Linux 维护人员比较了不同的压缩算法,最终计划使用 zstd 取代 devtools 中的默认压缩算法。
notion image