Normally, one would think having Hyperthreading ON is good, since you're using your CPU to its "full potential", spreading the workload wide (in parallel). Right?
However:
- splitting of clocks and allocation of jobs across 'weaker' threads (and management of job queues, interlocks, etc.) is a job in itself, so there's a tangible processing overhead, which means that sum of throughput of twice as many threads (logical cores) is always smaller compared to the sum of throughput of not split hardware cores working at full clock and with less job scheduling,
- by reducing the capacity of a single thread to process jobs, it becomes much more likely to hit a bottleneck with a notoriously serial jobs like digital signal processing,
- I did some testing in Reason 10 (where the setting is exposed in options) and - surprisingly enough - my CPU was showing 10-15pp less utilisation, which was enough to ensure glitch-less playback,
I suspect this might be less of an issue for projects that only replay many tracks of simple audio clips with few mixing inserts on top of each channel and few mastering plugins on the Master (a typical mixing project or band tracking), because that lends itself well to parallel processing.
But I think it can make a huge difference in complex, modular setups like Reason (or Bitwig, or Live) is encouraging, where CPU has to "wait" for signals coming from other tracks, busses, nested effects, cross-track sidechaining and signal routing, etc. You can have 4 tracks in your project, but due to internal interconnections and dependencies it might be a single, serial job for the CPU. In such cases, having many "weaker" threads with no space left to add one more big-sized job (because it can't be split to different jobs) is inferior to fewer, much faster physical cores where such bottleneck is less likely.
I actually tried to make some theoretical examples (in Excel

Now add to that, that with more logical cores - due to scheduling overhead - it might not be possible to *effectively* get the same processing power (so, in this example 2 cores would effectively run at maybe 7.95GHz each, 4 cores at 3.9GHz each, etc.) so we would start hearing the glitches even sooner.
This results in a confusion I see quite often on FB or here: why is my DSP full and playback is glitching, when CPU monitor shows 50% utilisation. That's exactly because none of the "idle" threads is able to accommodate yet another track/plugin in full, whereas it would be more likely that a "full" core would, because - simplifying - it would have double the processing headroom.
--------------
Does that mean multi-core CPUs is a hoax? No, because there are physical and thermal limits to clocks at which they can run, so it's better to have 2 cores at 3.5GHz each, than 1 core maxed out at 6GHz. So that setting should be left ON, as it always helps.
So is hyperthreading a hoax, then? Well, here I can't really see the benefits other than marketing ones - a 4 logical cores CPU definitely *sounds* more powerful than dual physical core CPU, even if it's the same exact silicon. For now, I'm keeping hyperthreading OFF.
---------------
Your thoughts & experiences?