Für
rechenintensive Threads (also Thread, die ausschlieslich im
RAM arbeiten und keine I/O-Operationen haben) gilt folgende Regel:
Die Anzahl der Thread soll mit der Anzahl der CPU-Kerne übereinstimmen.
Jeder einzelne Thread kann dann jeweils einen Kern auf 100% Auslastung bringen.
Verwendet man z.B. 4 Threads auf einer CPU mit nur einem Kern, dann ist die Gesamtleistung geringer als mit nur einem Thread.
Dafür gibt es zwei Gründe:
1.) der Overhead für die Threadumschaltung bremst
2.) im Level 1 und Level 2 Cache entstehen mehr
Cache Misses als wenn nur ein Thread werkeln würde.