超線程可能會傷害某些應用程序的性能,因此不應使用它。從微軟的網站(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