【问题标题】:Performance: Better to unzip from hard disk?性能:从硬盘解压更好?
【发布时间】:2011-06-03 01:02:06
【问题描述】:

我即将做出可能对性能产生明显影响的设计决策。一般来说,库是如何处理解压的;从内存或硬盘解压文件更便宜?

我想这会因库而异,但是 zlib ——只是一个更流行的库的一个例子——呢,当它从硬盘中提取数据时,它是否首先将数据复制到内存中(这意味着两者之间没有性能差异两种方法),还是可以直接从硬盘中提取?

【问题讨论】:

    标签: zip unzip


    【解决方案1】:

    默认情况下,zlib 会根据预定义的缓冲区大小“逐块”读取文件;这允许它压缩/解压缩大于可用系统内存的数据。

    由于从磁盘读取的成本很高(与从内存读取相比),首先将文件加载到内存中可以提高性能,因为文件大于默认缓冲区大小且小于可用内存。文件与缓冲区大小的倍数越大,文件在磁盘上的碎片越少,性能就会提高。

    【讨论】:

    • 感谢您的详细解答。
    猜你喜欢
    • 2010-09-30
    • 2023-03-20
    • 2010-12-02
    • 2010-10-04
    • 2011-06-10
    • 1970-01-01
    • 2013-11-30
    • 2013-03-09
    • 1970-01-01
    相关资源
    最近更新 更多