3 ms·
Hyperthreading only duplicates the frontend of the CPU. That's really it. That's the entire explanation. It's useful if and only if there are unused resources
by Filligree 4y ago
Hyperthreading only duplicates the frontend of the CPU.
That's really it. That's the entire explanation. It's useful if and only if there are unused resources behind it, due to pipeline stalls or because the siblings are doing different things. It's virtually impossible to fully utilize a CPU core with a single thread; having two threads therefore boosts performance, but only to the degree that the first thread is incapable of using the whole thing.
That's why the speedup is around 20%, not 100%.
- burntsushi 4y agoI know all of that. There's still a gap because it doesn't explain in full detail how contended resources lead to the specific slowdown seen here. Hell, nobody in this thread has done the experiments nexessary to confirm that HT is evem the cause in the first place.