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
- Single core (turbo frequency) performance
- 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% |
- does not have any significant effect on single-threaded performance*
- 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