禁用超线程是否会使单线程性能翻倍?

禁用超线程是否会使单线程性能翻倍?

我有 4 核处理器(Intel Core I5-8250U @ 1.6 GHz)*,超线程使其成为 8 个逻辑处理器。

我使用一个在单线程中执行大量计算*的程序。当我在任务管理器 (Win 10 家庭版) 中查找该程序时,我看到 CPU 使用率为 20%。但是资源监视器仅显示 12.5%(我也可以在那里确认该程序只运行 1 个线程)。

在任务管理器中,8 个逻辑处理器中的一个似乎以 100% 的速度运行,而其他处理器则处于空闲状态。负载每隔一秒左右就会在逻辑处理器之间切换。

我的问题是:超线程是否只允许每个线程使用 12.5% 的 CPU,还是有一些聪明的系统允许它使用 25%?我读过几篇文章,建议使用 25%,但没有任何地方明确说明(我的观察似乎建议使用 12%)。

*我知道我应该使用更快的计算机来做这些事情,但这就是我目前所拥有的。

答案1

禁用超线程后,您将只有四个核心。因此,可用的最大 CPU 时间将为 1/4每个核心即 25%。因此,使用完整核心的任务将从显示 12.5% 变为显示 25%。

但这并不意味着您将拥有更多的 CPU 能力,因为只使用一个核心的进程仍然只能使用一个核心,无论您总共有多少个核心。它只是意味着向您显示的内容看起来因为可用的总数较低。

由于两个超线程核心之间不共享缓存,速度可能会有一些小的提升,但对于需要几分钟的任务来说,这只是几秒钟的时间,并不意味着速度翻倍。

相关内容