我的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利用不足的可能原因是什么?