Ask HN: Generic guidelines on when to turn hyperthreading off?

1 points by totalperspectiv ↗ HN
Does anyone have any recent experience benchmarks different workloads with or without hyperthreading? Are there general characteristics that would indicate better runtime without hyperthreading?

All the resources I've found for this are pretty old and I'm curious if the state of hyperthreading has changed. The general guideline I've followed is:

If my workload can and will pin one or more threads for a long amount of time, it will be faster to have hyperthreading off.

2 comments

[ 2.5 ms ] story [ 13.6 ms ] thread
I find Total War: Warhammer 2 runs snappier with my 4c/8t + bursting reduced to 2c/2t + bursting. I think it can sustain the burst speed but I haven't measured precisely.
Compile workload seems to benefit from HT in general.

In our software build process (extremely parallel g++ of around 9000 files, often cached by ccache), we have benchmarked with all threads, and with just 1 thread per core (via "taskset", not via BIOS disabling of HT), and if we don't use the second thread on each core offered by HT, we lose 20% performance.

These results are from some old CPUs (i7-4930K) and some new CPUs (TR 1950x); the 20% figure is based on the i7, and I don't have the figure handy for the TR, but I believe it showed more benefit.