如果一项任务在 1GHz 处理器上需要 10 个小时,那么在 2Ghz 处理器上执行该任务是否需要 5 个小时?
或者我是否过于简单化了这个问题?
答案1
正如其他答案所指出的,即使 CPU 的运行速度提高了 5 倍,也不是所有事情都会快 5 倍,因为有时计算机会花时间不与 CPU 一起工作,而是等待其他操作,例如磁盘或网络 I/O。
除此之外,现代 CPU 内部相当复杂,并且会使用各种奇特的技巧(流水线、分支预测、乱序执行)来加快速度。在更快的 CPU 上,这可能会更好,也可能不会,因此即使对于 CPU 受限的任务,加速也可能不会达到 5 倍。
它可能更少,甚至更多,具体取决于任务的性质以及它与 CPU 尝试使用的优化的匹配程度。此外,这些优化本身在新的 CPU 型号中可能会有所不同(即使它来自同一系列)。
答案2
不,这只是最好的一种情况。如果您的任务需要网络或硬盘访问,那么这将是一个瓶颈,您无法通过更快的 CPU 来弥补。
1)假设系统和 CPU 没有发生其他变化
答案3
不是。应用程序运行所需的时间不仅仅取决于处理器速度。
例如:
- 磁盘的输入和输出取决于磁盘盘片的旋转速度
- 内存读取、写入可能会更慢或更快,具体取决于缓存
- 进程调度可能会有所不同。
答案4
如果你编写了一个计算素数的程序,并且完全没有进行任何 I/O 访问或网络访问,那么速度仍然不会翻倍。可能会有很大的不同。
如果是同一品牌、同一代、同一技术、同一晶体管数量、同一指令集和同一纳米尺寸部件的 CPU,那么双倍频率意味着双倍速度。这意味着如果您不保存任何内容并且 CPU 缓存没有瓶颈。