• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Question Alder Lake P-core hyperthreading vs E-Core

  • Thread starter Thread starter CU
  • Start date Start date

CU

Platinum Member
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.
 
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.
 
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.
 
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:
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.
 
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.
 
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.
 
Back
Top