I'm with Martin as far as using threads goes.
I only own single CPU hosts, all of which support Hyperthreading, two of which only have 2 cores/4 threads. The other 4 have 4 cores/8 threads. In my experience with guests on various platforms running various guests, setting all threads to a guest does nothing but slow everything down. Both VirtualBox and VMWare warn users not to assign all threads to a guest. I think they must have reasons.
There are so many factors that can affect performance, the hardware, the OS, the software etc. For example if a software program is not optimized for multicore/hyperthreading, it's not going to run as well as software that is. I don't compile anything but my understanding is it's a sequential process so unless one has a compiler that can break up the sections of code and run each on separate CPUs/threads I don't see much of an advantage. I seem to remember reading articles that say hyperthreading has no advantage, a 15% increase in performance, or a slowdown in performance.
All results seem rather anecdotal and tied to specific CPUs , hardware and software.
The bottom line is I think, run what works best for the job. The settings may have to be changed depending on the job or, just use what gives the best overall performance.
I'm never talking about this again.
FWIW, computer "geeks" are as bad as "audiophiles" if not worse. IMO.