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

Memory allocation while zlib-compressing data?

开始:

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

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

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

案例一: 有 1 GB RAM 内存,现在 10 个线程运行 并行开始压缩意味着,是否会占用所有 RAM 内存进行压缩?

 10 Threads * 100 MB = 1000 (Approx)

zlib 本身需要相对少量的内存,每个线程最多 256kb。如果您将输入和输出保存在内存中,这将由您用来存储输入和输出的内存决定。有关详细信息,请参阅 zlib web site(查找 "Memory Footprint" 主题)。