这是我的服务器。场景如下:
计算机 A 的处理器比计算机 B 快。它们都执行相同的程序,但计算机 A 的 CPU 使用率只上升到 30%,而计算机 B 却上升到 80%。
两台计算机上应用程序所花费的时间/性能会相同吗?(我这样想是因为两台计算机上的 CPU 都不会达到 100%;因此我相信没有任何进程需要等待)
两款处理器之间的唯一区别是时钟速度。架构和核心数相同。
答案1
基于此,无法断言。
应用程序可能是单线程的,其中 A 是多处理器,一个核心使用率很高,其余核心处于闲置状态,效率较低。另一方面,CPU B 可能拥有较少的核心(或者理论上只有一个核心),但效率极高,特别是对于正在执行的进程类型,并且比“更快”的处理器更快。
如果 CPU A 不支持某些指令集,它可能只会使用其整体功率的 30%,但同样,处理指令集的更高效的处理器尽管速度较慢,但在此任务上可能会更快。
CPU A 可能具有更高的时钟频率和更多内核,但架构较差。一种可能性是,它不断做出错误预测,并且必须清除/重新加载管道。它可能总体上是一个更快的处理器,但它处理某些任务的能力总是比较慢的处理器差(回顾 AMD Barton 内核与 Netburst Pentium 4 的比较,AMD 的时钟频率明显较低,但在许多任务上速度更快)。
CPU B 可以更好地在磁盘(可能是 SSD)和 RAM 之间传输数据,因此它飙升至 80%,部分原因是它可以加载足够的数据以足够快地填满缓存,而 CPU A 连接在 4,200 RPM 笔记本电脑驱动器上并更快地刻录每个数据段,但无法在缓存中保存足够的数据来跟上速度。
现在,这些都不是明确的,但为了论证的目的,它只是向你展示了除了使用和原始速度测量之外,还有更多的东西。
答案2
无法判断。如果 CPU 使用率针对所有进程(并且没有其他实际负载),则意味着该进程不受 CPU 限制(如果是这样,CPU 使用率将飙升至近 100%)。因此 CPU 正在等待其他东西。那个“其他东西”可能是磁盘,也可能是其他东西。总时间将取决于速度有多快(以及 CPU 和“其他东西”之间有多少重叠)。我不会对您引用的比较数字感到太惊讶,CPU 的速度明显加快,磁盘的速度则要慢得多。而且 CPU 时钟速度(您比较的)并不是全部,正如 AthomSfere 的回答所说,AMD CPU 的时钟速度曾经比英特尔的低得多,但无论如何都更快。