【问题标题】:Using qCompress/qUncompress for multi-core使用 qCompress/qUncompress 进行多核
【发布时间】:2014-01-17 18:50:36
【问题描述】:

是否可以将多核用于内部 QT 功能,例如 qCompress/qUncompress

谢谢。

【问题讨论】:

  • 一切皆有可能。 =)。撇开玩笑不谈,我不认为我完全理解你的问题。
  • 我只是想在压缩数据时使用多个内核。

标签: qt zlib multicore


【解决方案1】:

qCompressqUncompress内部使用zlib,其算法不易并行化。其他方法,例如pigz,是将数据切割成块,然后并行压缩。它需要不同于 zlib 通常期望的文件格式。

如果您可以控制自己的数据,则可以将数据拆分为多个块并并行压缩/解压缩它们。块的数量可以与为解压缩设想的最大线程数一样大,但是当您进行压缩/解压缩时,您只能并行运行QThread::idealThreadCount() 数量的线程,它们每个可能处理多个块。块的最小大小必须有意义,以免过多影响压缩率。您可能需要进行试验,但我认为 128kb 以下的块没有什么意义。

【讨论】:

  • 谢谢库巴!这是有道理的!
猜你喜欢
  • 1970-01-01
  • 2015-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多