如何比较计算要求?

How can computational requirements be compared?

计算优化问题的解决方案需要 2 GHz CPU 一小时。在此过程中,没有后台进程,没有使用 RAM,CPU 的容量为 100%。

根据这些信息,是否可以得出 1 GHz CPU 需要两个小时才能解决同样的问题?

快速搜索一下IPC、频率和芯片架构,你就会发现这个话题已经被攻破了很多次。有很多因素可以决定程序的执行速度(甚至根本不涉及线程),我想到的主要因素有:

  1. 指令集 - 如果一个芯片有乘法指令,那么 a*b 是原子的。否则,您将需要大量原子指令来执行这样的操作 - 速度上的巨大差异,这可能会使更高频率的芯片变慢。

  2. 每秒循环数 - 这是芯片的频率

  3. 每个周期的指令数 (IPC) - 您真正感兴趣的是 IPC*频率,而不仅仅是频率。您可以在一秒钟内执行多少个原子操作。在一定数量的原子操作(参见 1)之后,在单线程应用程序上,这可能会像您预期的那样运行(x2 this => x2 更快的程序),但不能保证。

还有很多其他细微差别的技术可以影响这一点,比如最近成为新闻热点的分支预测。要获得完整的理解,book/course 可能是更好的资源。

所以,一般来说,没有。如果您正在比较两个单核、相同架构的芯片(不太可能),那么也许是。