ThreadRacer on an Intel i7-6650U

Why You Disable Hyper-Threading or NOT, and How to Know the Difference

When Hyper-Threading first came out as a ‘concept’, the hyper-threaded logical core was little more than an add-on to the primary core, providing as little as 10% of its performance.

However, in the last couple years, things have changed. Both Intel and AMD have changed their architectures, and the Windows CPU scheduler is very aware of Hyper-Threading and paired codes (modules in AMD Bulldozer), and similar strategies to bring parallelism to the max.

If you DO decide to disable it, you should decide whether do it at the UEFI (BIOS) level, or dynamically, per-process, with Process Lasso’s Hyper-Threaded Core Avoidance. The latter lets you restrict use of non-physical cores to only processes that *need* real-time performance, without disabling HyperThreading entirely, and for AMD it is the *only* way to completely disable use of paired cores.

Now, when you decide whether or not to disable HyperThreading, you should consider whether doing that constricts your CPU, or if it, in some way, helps. If you have an old system with XP, definitely you need to disable HyperThreading for real-time tasks. If you have Windows 10 or Windows 2016 and a new CPU, then maybe not so much. The OS *knows* to avoid those cores, but it’s nice to have them for other chores that might be going on.

If you DO decide to disable it, you should decide whether do it at the UEFI (BIOS) level, or dynamically, per-process, with Process Lasso’s Hyper-Threaded Core Avoidance. The latter lets you restrict use of of non-physical cores to only processes that *need* real-time performance, without disabling HyperThreading entirely, and for AMD it is the *only* way to completely disable use of paired cores.

In making this decision, there is the question of what kind of CPU you have. Instead of researching and guessing, you can use our nifty ThreadRacer freeware to run a quick tests. With hyper-threading enabled, just set up 3 adjacent cores. If you have an Intel Hyper-Threaded CPU, the first 2 will be a ‘real’ and a Hyper-Threaded core attached to it, respectively. If you are using an AMD platform, the first two will share certain computational or cache units, depending on the platform.

Intel i7-6650 Results:

ThreadRacer on an Intel i7-6650U

ThreadRacer on an Intel i7-6650U

AMD Fx 9370 Results

ThreadRacer on an AMD FX 9370 (not Ryzen, which has full SMP!)

The disparity shows that Hyper-Threading is still an issue, but not as big of an issue as it once was. The years old figure of 10% is now 50% divided equally — but the OS (now) knows not to put two threads on adjacent cores if it can help it, so it doesn’t treat all cores equally and tries to avoid this situation.

Your results may vary. Give it a try and share the results if you like! Comments below.

%d bloggers like this: