多线程gzip压缩神器---pigz
文章目录
Fastq文件为纯文本文件,占用的硬盘空间较大,所以一般都会将Fastq文件压缩成gz格式,很多软件也支持fastq的gz格式输入。我用过python读取gzip,非常方便。单纯的通过gzip的命令压缩fastq,效率非常非常慢,据说是没有利用整个机器的cpu。
于是我就找到了pigz这款神器,可以在压缩数据时,发挥多核多处理器的优势,简而言之就是利用多线程进行gzip任务,比单纯的gzip压缩要快很多,有人测试快了5倍多(因为gzip压缩100G的文件时间是太长了,我也就没有测试)。
pigz
pigz, which stands for parallel implementation of gzip, is a fully functional replacement for gzip that exploits multiple processors and multiple cores to the hilt when compressing data.
安装pigz
|
|
运行pigz
pigz -h 可以看到它的command option。
运行pigz和简单,和gzip的命令差不多,比如
# -c 表示打印到标准输出std,如果没有-c选项,则会生成一个后缀为gz的压缩文件。 pigz -c file > file.gz # -k 表示压缩后不删除源文件 pigz -k file
当然你可以继续优化命令, –blocksize mmm 设置压缩块block的大小,默认为128kb -0 to -9, -11设置压缩水平,值越大,压缩率越高,当然耗费的时间也就越长 等等
测试
压缩一个120G的文件,默认参数下,耗时25分钟
生成的gzip文件,可以通过gunzip解压缩
####################################################################
#版权所有 转载请告知 版权归作者所有 如有侵权 一经发现 必将追究其法律责任
#Author: Jason
###################################################################
文章作者 zzx
上次更新 2016-04-02