vielleicht ja
Ich habe es jetzt mal getestet, eine Single-Thread Anwendung läuft bei deaktiviertem HT tatsächlich doppelt so schnell. Die Rechenzeit hat sich exakt halbiert.
Das Programm nutzt nur einen Kern was zu einer Auslastung von 50% im Taskmanager führt.
Wenn ich das Programm ein zweites mal starte (siehe Screenshot vom Taskmanager) steigt die Auslasung auf 100%.
http://img.daric.de/images/87962562880515153087.jpg
Jetzt frage ich mich, ob das Programm nicht schneller wäre, wenn es nicht zwei Threads mit einem Prozessor berechnen müßte, sondern mit einen Thread den Prozessor voll auslastet.
(Das Programm sucht nach Primzahlen)
Das kommt auch auf das Program an! Wurde es für bestimmte CPU Befehle optimiert (Intel/AMD) oder für Mehrkernbetrieb? Das macht viel aus!
Hyperthreading nutzt zusätzlich verfügbare CPU-Zeit, d. h. Deaktivieren von Hyperthreading (wenn das denn überhaupt geht!?) würde wenn dann nur eine Performance-Senkung zur Folge haben, nicht, was du willst.
Wenn eine Hyperthreading-CPU einen zweiten Thread abarbeitet, dann tut sie das, weil es ihr grade langweilig is und sie die Zeit nicht verfeuern möchte, sondern was sinnvolles tun will. Der eigentliche Thread hat in diesem Moment einen I/O-Burst, die CPU kann ihm nicht helfen und muss warten. Also widmet sie sich derweil dem zweiten Thread.
Aus z.B. Windows-Sicht sieht die CPU wie ein Dualcore-Prozessor aus ... obwohls eigentlich keiner is.