由于我已经创建,是很难计算上的应用 - >大量的工作要做,不是很复杂的计算 - >时间过长去解决问题和过程是CPU的只有45%。我能以某种方式最大化?:去90%?

有帮助吗?

解决方案

如果你有一个双核的机器(我猜你这样做),你最希望可以在一个单独的线程来获得将50%的CPU使用率。

要获得90%的CPU使用率,你将最有可能需要您的线程计算。这可能是很简单的,或非常困难的,这取决于你想线程算法的性质。

如果你能打破你的工作集分成多个组,我会建议使用的线程池或潜在地甚至任务并行库时,取决于要发布的定时。

其他提示

更可能你有一个双核CPU,如果你的应用程序是单线程的,它会使用的最大CPU为50%(所有一个核心)。为了得到更好的利用,你需要利用多线程,但是这也意味着找出一些方法来打破你的计算成片,使他们可以通过一个以上的核心要工作。

检查这样的:

  1. 请你从磁盘,而计算读?如果是这样,尝试计算之前读取存储器中的数据。
  2. 请您将结果写到磁盘或控制台同时计算?如果是的话,尽量推迟写作,直到计算过,然后就写。
  3. 如果您有多核处理器,如有可能,尝试创建多线程算法。

如果你只是有一个简单的循环做计算,那么很有可能你的电脑有两个核心/处理器。单线程应用程序将在最好地利用50%的CPU。

您需要多个线程使用整个CPU多核机器上。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top