Parallel.For使用4核/ 8线程上的所有线程,但在16核/ 32线程上只使用35%的线程

时间:2018-02-23 15:45:33

标签: c# multithreading parallel-processing cpu-cores

我的C#程序启动一个Parallel.For循环,其中循环计数通常约为250.循环包含将值相互比较的函数,并根据结果向列表添加/删除值。还会创建一些对象并将其存储在列表中。所有循环通常需要大约3分钟才能运行。

在我的4核Intel i7 6700K任务管理器上显示所有8个线程的100%利用率。但是,当我在16核AMD Ryzen 1950X上运行该程序时,利用率仅达到35%。

两个系统都有2x4GB的DDR4 2133 MHz RAM。该程序使用大约800MB的RAM

16核CPU利用不足的可能原因是什么?

0 个答案:

没有答案