虚拟内核和真实内核之间是否存在显着的性能差异?

Naf*_*Kay 4 cpu hyper-threading

可能的重复:
超线程和双核,有什么区别?

大多数英特尔处理器都具有所谓的“超线程”功能,基本上每个物理内核都有一个虚拟内核。

这些虚拟核心和物理核心之间是否存在显着差异?例如,如果我在同一时钟下购买了一台8核机和一台超线程四核机,两者规格相似,那么8核机的性能会超过四核超线程机吗?

use*_*686 7

是,有一点不同。

显然,只有在程序实际使用物理内核时,物理内核的性能才会优于虚拟内核。:)

虚拟内核只是利用 CPU 停顿来处理另一个线程,而 CPU 正在等待。但是,当没有任何停顿时,它们一次运行的指令不会超过单个内核。

另一方面,物理内核实际上并行运行多个线程;它们与多个物理处理器非常相似,不同之处在于缓存和此类组件可能在某些级别共享。

  • 这个答案适用于 Pentium 4 上可用的古老形式的超线程,但完全不适用于现代超线程,后者与利用 CPU 停顿无关并且即使没有停顿也一次运行更多指令。例如,如果一个线程仅执行整数运算,则另一个线程可以一直使用所有浮点单元。 (2认同)

Mar*_*ulo 5

好吧,差异是如此显着,以至于具有超线程的双核和常规双核之间最终可能没有性能差异。将超线程视为一种“回收”功能,它可以使用因内存访问而无法使用的时钟。但在简单化的过程中,它根本不会给你带来任何改进。