Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 如何尽可能缩短解压缩时间&;在Unix中压缩文件?_Performance_Unix_Gzip_Filesize_Zcat - Fatal编程技术网

Performance 如何尽可能缩短解压缩时间&;在Unix中压缩文件?

Performance 如何尽可能缩短解压缩时间&;在Unix中压缩文件?,performance,unix,gzip,filesize,zcat,Performance,Unix,Gzip,Filesize,Zcat,我必须解压,然后(处理后)再次压缩(存档)源文件。文件大小通常在200-250 GB左右(解压缩的.dat格式)(总共96个文件)。 解压过程大约需要2个小时,同样,解压过程需要1:30到2个小时,这是无法负担的。 目前,我正在使用“zcat”命令解压缩文件,使用“gzip-3”命令压缩文件。 磁盘空间不是问题,因为我们有1.5TB的安装空间。 请您建议一些更有效的方法来执行此过程 期待您的建议,谢谢-Pushkar。如果磁盘空间不是问题,那么就永远不要压缩。那你也就不需要减压了 如果有多个内核

我必须解压,然后(处理后)再次压缩(存档)源文件。文件大小通常在200-250 GB左右(解压缩的.dat格式)(总共96个文件)。 解压过程大约需要2个小时,同样,解压过程需要1:30到2个小时,这是无法负担的。 目前,我正在使用“zcat”命令解压缩文件,使用“gzip-3”命令压缩文件。 磁盘空间不是问题,因为我们有1.5TB的安装空间。 请您建议一些更有效的方法来执行此过程


期待您的建议,谢谢-Pushkar。

如果磁盘空间不是问题,那么就永远不要压缩。那你也就不需要减压了

如果有多个内核,可以尝试加快速度。它是gzip的并行实现,将特别加快压缩速度

我不明白为什么你的解压比压缩慢。应该快三到十倍。你能提供你正在做的事情的实际代码吗?一定是出了什么事


顺便说一下,你的术语不正确。压缩和解压缩指的是.zip格式,而不是.gz格式。您只需说您压缩到gzip格式并将其解压。

解压时尝试静默模式
-q
。如果存档中的文件太多,这将大大减少时间,因为解压会将名称写入标准输出

男子解压

   -q     perform  operations  quietly  (-qq  = even quieter).  Ordinarily
          unzip prints the names of the files it's extracting or  testing,
          the extraction methods, any file or zipfile comments that may be
          stored in the archive, and possibly a summary when finished with
          each  archive.   The -q[q] options suppress the printing of some
          or all of these messages.

你能“在线”处理吗?i、 e.
gzcat file.gz |/fixingScript | gzip-9->file.tmp.gz&&mv file.tmp.gz file.gz
?(抱歉,我没有时间查找您将用于
zip
实用程序的确切语法)。这实际上可以将处理时间缩短到解压或重新压缩这两种方式中较长的一种。或者,如果这是一个可以重新构建的东西,那么就选择较小的文件,或者可以输入到大型并行处理系统、Hadoop和其他许多系统中的东西。祝你好运,谢谢你的回复!实际上,解压后,我使用这些文件作为Informatica工具的输入。因此,这无法按顺序完成。我仍然不确定我是否理解您的用例,如果您没有处理数据,然后压缩修订版备份,并且您有大量的磁盘空间,那么
cp file.zip file.orig.zip&&unzip file.zip&&load\u to\u informatica file&&rm file&&mv file.orig.zip file.zip怎么样。因此,您保留了压缩文件的一个副本,临时解压,加载解压文件后,您只需删除它,然后将保存的.zip副本重命名为file.zip。祝你好运。
pigz
只加快了压缩速度,而不是解压缩速度。@Thomas实际上它确实加快了一些速度。解压时,pigz有单独的线程用于读取、写入、解压和CRC计算。我刚刚在一个100 MB的gzip文件上做了一个快速测试,其中用gzip解压大约需要2.5秒,而pigz只需要1.5秒。手册页上说:“因此,pigz使用一个线程(主线程)但将创建另外三个用于读取、写入和检查计算的线程,这在某些情况下可以加快解压缩速度。”