QThreadPool和许多任务/线程的QRunnable性能

时间:2019-02-01 23:04:20

标签: multithreading performance qt threadpool

我有一段代码需要执行18000000个任务。我目前正在使用Qt,更具体地说是使用带有QRunnables的QThreadPool对我的8核CPU进行多线程操作。

我有一个QRunnable类,该类封装并实现了必须重复1800万次的任务。我想知道什么后台QRunnables跨越QThreadPool开销。如果存在大量开销,这将累积超过1800万个必须通过QThreadPool推送的QRunnable。

我想知道将1800万个任务分解成更大的块是否有意义,比如说每个QRunnable执行10,000个任务而不是一个。通过消除与QThreadPool中QRunnable分配和释放相关的开销,这会减少总体计算时间吗?

我想真正的问题是:是在QThreadPool足够高的开始QRunnables添加显著计算时间的开销,如果使用1800万个QRunnables

谢谢!

0 个答案:

没有答案