2

不确定这在托管语言中是否可行,但是否有可能在超线程存在的情况下真正使应用程序性能更好?

代码中有什么具体可以做的吗?,也许某些功能在 HT 环境中比其他功能运行得更好?

我知道要从多线程中受益,只需要生成新线程来执行繁重的 cpu 任务,但我不确定 HT 需要什么?

4

1 回答 1

4

很大程度上取决于您拥有的实际硬件。阅读注意:是否使用 Hyper以获得更深入的分析。Slava 在链接中的观点是,在 HT 中,虚拟核心共享缓存,并且虚拟核心工作负载可能会破坏“主”核心的缓存,即使与主核心相比,它最多只能完成大约 20% 的工作负载,因为它驱逐了主核的热缓存,导致主核停顿,整体性能比无 HT更差。

但是自从文章发布以来,很多事情都发生了变化,HT post Nehalem明显更好。

我知道要从多线程中受益,只需要生成新线程来执行繁重的 cpu 任务

这是相当幼稚的看法。您必须阅读Rick Vicik 有关高性能 Windows 程序的文章(它们也适用于托管应用程序),并且您必须绝对了解CPU 缓存和您关心的原因

于 2013-03-09T19:37:33.617 回答