超线程可能会伤害某些应用程序的性能,因此不应使用它。从微软的网站(https://msdn.microsoft.com/en-us/library/cc615012%28BTS.10%29.aspx):如何决定是否使用超线程?
至关重要超线程可对于BizTalk Server 电脑关闭。超线程使服务器似乎拥有比实际更多的处理器/处理器内核。然而,超线程处理器通常提供物理处理器/处理器内核的性能的20%到30%之间。当BizTalk 服务器计算处理器的数量来调整其自调谐算法 ;超线程处理器会导致对这些调整 倾斜,这对整体性能不利。
过程套索计划允许对一些过程禁用超线程:
您可以使用程序,如过程套索(免费)设置默认CPU 亲和力的关键过程,使自己的线程永远得不到 分配给逻辑核心。我们称之为HyperThreaded Core 避免。
我有一些执行大量数学计算的较旧程序。看到他们使用一个核心是令人沮丧的,如果他们可以使用4.我想重写它们以使用许多线程。他们使用大型连续内存块,因此缓存未命中数量很少。我的问题如下:
- 如何决定是否在您的应用程序中使用超线程? (如有必要,请提供一些具体技术细节的指导)
- 是否需要进行实验以作出最终决定?
- 如何避免超线程在您的应用程序,如果它不是有利的? (在C++和c中的例子)
超线程(有点)是CPU内部的概念。您听起来更像是在讨论线程,而不是专门为超线程定制代码,因为超线程可以被认为是“假”核心。 – Olipro
你是指多线程? – NathanOliver
是的。超线程是一些CPU的技术性东西。多线程是编程并发执行代码的一种方式。在多线程环境(或多进程环境)中,它显然取决于所执行的处理类型,关于这些处理您不会提供详细信息。 – hexasoft