gpt4 book ai didi

c# - CPU利用率

转载 作者:太空宇宙 更新时间:2023-11-03 21:34:21 24 4
gpt4 key购买 nike

我有一个小程序试图找到一个非常大的数的最大质因数。我用 C# 编写了这个程序。这是蛮力,需要相当长的时间才能完成。这是故意的,因为我试图了解 CPU 的使用方式。

我怎样才能让它充分利用 CPU。目前它只使用了大约 25%,而大约 68% 的时间 CPU 只是空闲: enter image description here

为什么程序没有使用所有可用的 CPU 周期?

更新:

四个内核的 CPU 历史记录如下所示 enter image description here

为什么这些都不在顶部?

最佳答案

如果您的计算机具有多核架构(这很可能),获得高使用率的唯一方法是使用多线程。

例如,如果您的计算机是四核计算机,那么如果您使用单线程,则只会使用 25% 的 CPU。

通过使用多线程(通过显式多线程代码或通过 Parallel.For 之类的东西),您将获得接近 100% 的利用率,但不完全是 - 总是有开销使程序无法充分利用。算法的性质(即它的并行化程度)也有很大的不同。光线追踪之类的东西是令人尴尬的并行,而且开销很小。

关于c# - CPU利用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22482849/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com