Question Alder Lake P-core hyperthreading vs E-Core

CU

Platinum Member
Aug 14, 2000
2,409
51
91
Are there any tests that show if it is better for a thread to be sent to a P-core using hyperthreading or to a E-core? I am curious as to how the scheduler handles it. If your 8 P-cores are running 8 threads, does it send thread 9 to one of the P-cores as they have hyperthreading or does it go to one of the E-cores since they are setting idle is this hypothetical case. If it goes to the P-core, how fast would the E-core have to run before sending it there would make more sense. And, would the scheduler know to sent it to the faster E-core. One test I could see would be to run 9 instances of something and see where the 9th went. Then run it again with hyperthreading turned off and see which is faster. Then try it running the E-core at a faster speed. Maybe even downclocking the P-cores.
 

Thala

Golden Member
Nov 12, 2014
1,355
653
136
According to Intel's Thread Director slides it's P > E > P-HT.

Which is also the obvious de-facto ordering. Allocating a second thread on P-cores gets you about 20% or so more performance out of that core, which is much less than an E-core threads performance.
 

Abwx

Lifer
Apr 2, 2011
10,937
3,439
136
One P core @5GHz has 22% better throughput (including SMT) than two E cores @3.7GHz, that s on Cinebench though and things could be different in other apps.
 

nicalandia

Diamond Member
Jan 10, 2019
3,330
5,281
136
Which is also the obvious de-facto ordering. Allocating a second thread on P-cores gets you about 20% or so more performance out of that core, which is much less than an E-core threads performance.
HT on Alderlake is about 30%, so a 1C/2T can boost Performance up to 30% compared to 1C/1T, a 1C/1T + 1 e core will net you 40% at best in IPC(clock for clock) but the same performance in stock

1638482744687.png



Here we see 12900K with 8 + 0 where the P cores boost higher than e cores in either stock or unrestricted and you can see that at best it's 32% boost in Multi-Threaded performance

1638484894131.png
 
Last edited:

IntelUser2000

Elite Member
Oct 14, 2003
8,686
3,785
136
Also, being on an E core will add performance in heavily ALU and FPU bound code, the latter example being Intel Linpack while Hyperthreading will bring zero or even hurt it by few single digit %.

The gain moving it to an E core will also be more consistent as it's a seperate core unlike Hyperthreading that takes advantage of code that has low ILP or in case of L3 cache miss.
 

CU

Platinum Member
Aug 14, 2000
2,409
51
91
Thanks for all the info. Liking the E-core more now. Been looking at the 12600k a lot lately. Probably going to wait to see how Zen3D turns out. But, if a killer deal comes up I may not wait for the release.
 

nicalandia

Diamond Member
Jan 10, 2019
3,330
5,281
136
Also, being on an E core will add performance in heavily ALU and FPU bound code, the latter example being Intel Linpack while Hyperthreading will bring zero or even hurt it by few single digit %.
Using Intel Linpack to show how bad HyperThreading is.. It's really not a real world working loads. Everyday encoding, Rendering and overall computer usage does benefit from HT and in Alderlake it's 30%, that is a substantial performance boost.