WARNING! If you are a Linux user and have a Core i9 based computer DO NOT ENABLE THE INTEL MICROCODE DRIVER!!!

I have older Linux box with Core i7 3770 processor which has served me loyally for years. I recently upgraded and installed a fresh Linux Mint 18.2 and the first screen that greets after a new installation is the Driver Manager. It was offering binary drivers from NVIDIA Corporation and "Unknown" (labeled "intel-microcode"). It sounded like a good idea to install the microcode.

The old computer did compile one specific piece of code in 22 seconds using "make -j10". The new computer with nearly 3x the CPU capacity took 15-18 seconds which is not improvement at all. The CPU utilization was jumping between 20 and 30% which was pathetic. The old machine used to go ALL OUT at 100% until the job was done. The statistics looked like this:

real 0m22.231s user 2m45.231s

If you divide the user/real we get roughly 7.5, which makes sense since our hardware has maximum concurrency of 8.

The new machine was giving concurrency ratio which was very little below 4! Long story short, after disabling the intel-microcode goodness the results look like this:

real 0m6.122s user 1m9.624s

Concurrency is 11.3 - the hardware should be able to do 20 but definitely an improvement. The CPU utilization still doesn't go all out at 100%. We should get real 0m3s with user of 2m0s. The HT is enabled and I can confirm 100% CPU load with custom workload from my threadpool code. Something funky going on with the GNU make?

On the bright side, now the machine is over 3x the speed of the old one and the number of cores shouldn't even give more than 2.5x so it is exceeding expectations but simultaneously seeing underwhelming CPU usage. I/O limited? :(


September 27, 2017. 4.5 seconds!