密集计算不使用完整核心?

时间:2015-05-20 10:12:55

标签: performance monitoring cpu-usage computation

我正在开发一个涉及一些计算密集型算法的程序。在我的i7上,执行一次完整计算大约需要±45秒。

它还没有多线程,因此它只使用一个核心,因此有一个明显的改进机会。

然而,当我监控我的处理器使用情况时,我注意到它甚至没有完全使用一个核心。在没有其他密集进程运行的情况下,我看到我的8个核心中的一个上有活动,但它只做了60-80%,而我希望运行我的程序的核心完全耗尽100%。

该算法不涉及磁盘或网络访问,并且不涉及大量内存(它执行一些非常繁重的图像处理,我目前仅使用非常小的图像)并且它不使用GPU。这是一个简单,直接的过程,只进行一次繁重的计算,而且我没有睡觉或打断或等待事件或任何事情。

为什么计算密集型程序(不依赖外部资源)使用正在运行的核心来满足它的全部容量?

0 个答案:

没有答案