Hyperthreading and Compilation
We turned hyperthreading on because it seemed to improve our compilation efficiency. If we have a 6-core 12-thread machine, we compile with 12 parallel processes. In theory, most processes are waiting for the source file to be read from the disk (or the object file to be written to the disk), that's a lot of downtime when that same CPU core can be used to compile another file that has already been loaded. You have thousands of source files and that time adds up appreciably.
We don't do any heavy computing on our PCs.
This always made me wonder about AMD's older "FX" architecture where it had two integer cores that shared an FPU. So '8 cores' meant 8 ALU cores, but only 4 FPU cores. Seems fine for most jobs, but if you had a lot of math, it had to be terribly inefficient.