zlib压缩数据时的内存分配?

时间:2016-02-02 11:43:43

标签: memory memory-management go compression zlib

转到:

假设有10个线程并行运行以压缩每个100 MB的数据。对于每个要压缩100 MB数据的线程。我正在使用zlib压缩来压缩数据。

考虑一个过程花费近2秒来压缩100 MB的数据。那么如果所有线程并行运行以压缩数据会发生什么。

我还需要澄清每个线程的内存分配。

案例1: 拥有1 GB RAM内存,现在10个线程将并行运行以启动压缩工具,是否需要将所有RAM内存用于压缩过程?

 10 Threads * 100 MB = 1000 (Approx)

1 个答案:

答案 0 :(得分:2)

zlib本身需要相对微不足道的内存量,每个线程最多256kb。如果您将这些内存保存在内存中,这将由用于存储输入和输出的内存占主导地位。有关详细信息,请参阅 zlib web site(寻找"记忆足迹"主题)。