A computer processor (CPU) has physical cores that run at specified frequencies and provide computational capability. Most modern server CPU's also have hyperthreading (2 Logical cores within a physical core). But a thread is not the same as the core and there is a common question "How much more performance does hyper-threading get you?" 

We took 2 pairs of Intel CPUs that were manufactured in a form to be pretty much the same in everything but hyper-threading:

  • Same number of cores
  • Pretty much the same base and turbo frequencies
  • Same architecture generation
  • One has hyper-threading enabled and the other does not.

Using Passmark results we can calculate the effect of hyper-threading on 

  1. Single core (turbo frequency) performance
  2. Multi core (base frequency) performance

 

CPU MODEL HT Enabled Num. of cores Num. of threads Base Freq. GHz Turbo Freq. GHz Single Core Perf. Multi Core Perf. Diff. in Single Core perf. due to HT Diff. in Multi Core perf. due to HT % Diff. due to HT
E3-1226 v3 4 4 3.3 3.6 2070 5357 0 0 0
E3-1245 v3 4 8 3.4 3.7 2152 7018 82 1661 31%
i9-9700K 8 8 3.6 4.9 2918 14624 0 0 0
i9-9900K 8 16 3.6 5.0 2980 18875 62 4251 29%



The conclusions are that hyper-threading:
  1. does not have any significant effect on single-threaded performance*
  2. adds app. 30% in multi-threaded performance

* small differences in performance resemble min. differences in single core turbo speeds (0.1 GHz)

We could implement a term "Effective cores" and calculate it as

Effective Num. of Cores = Num. Of Physical Cores x 1.3



Why is this of interest to us? We run quite a few tests trying to optimize our private cloud infrastructure and our SaaS platform for webhosting websites and webshops. Tests and calculations like this helped us find i.e. the fastest CPU for PHP.

Links

Povezane vsebine

 
Which are the fastest CPUs for PHP websites like Wordpress and Magento (24.08.2020)
The best CPUs for PHP based on PHPBench are Intel i9 gaming/workstation processors like i9-9900K