Question Intel performance cores versus efficient cores

GeorgiaOverdrive

Distinguished
May 30, 2014
109
0
18,680
Twelfth and 13th generation Intel i7s have eight performance cores and four or eight efficient cores. How does their performance compare? For instance, suppose you are running two threads (A) one each on two efficient cores, or (B) both hyperthreaded on one performance core. How would the performance compare? About the same?
 
There might be a formal test of that somewhere on the web. I haven't checked.

But...........

Shortly after efficiency cores were introduced, I read that a single efficiency core is about as strong as a core in an i5-6600K from 2016.

The Passmark single thread benchmark score on a 6600K is about 2330. Multi thread 6286

Single thread score on a 13700K is about 4403; multi thread about 47033.

With a little arithmetic, you might make some inferences from that. But I'm not sure how accurate those inferences would be.

Georgia Overdrive......that's neutral, right?
 
How does their performance compare?
It doesn't. Not even close because they are not the same type of core. Essentially it's like comparing a sports car to a diesel pickup.

You can only realistically compare one cpus P-cores and E-cores to another cpu P-cores and E-cores. P-cores are designed for high power, high speed, brute Horsepower applications, E-cores are heavy lifting workhorse applications. You can run either application on either core type, but just as some applications benefit from high speeds, other applications do not, benefitting from higher cache and/or core stability etc.

So the E-cores are best used when speed isn't necessary, reserving the P-cores for when speed is. Trying to compare that performance on a 1-1 basis doesn't work.
 
  • Like
Reactions: Roland Of Gilead
One e-core =100%
one p-core 152%
p-core with HT=222%
So in very broad terms the p-core will still be faster but it always depends on what you run.
This is an average of all the tests they have run which is a good amount.
relative-performance-cpu.png
 
  • Like
Reactions: Roland Of Gilead
TechPowerUp looked at how the cores performed in comparison to each other using the 12900K. It's likely similar with the 13900K.

But in this case, the E-cores were about 0.6-0.7x performant of the P-cores, with some outliers where the P-cores could be up to twice as better. Note that in their testing, the P-cores were capped to 3.9GHz, which is the maximum speed the E-cores operate at, so this is a normalized test. In practice, the P-cores will perform better because they will clock faster.

But since 4 E-cores looks like they can fit in the same space as a P-core on the CPU die, for well-parallelized task, the E-cores should be able to go up to 2.8x performance over a P-core, assuming they both run at the same clock speed. But even then, if the P-core were allowed to go up to say 5.1GHz, this only adds about 1.3x more performance to the P-core. So the 4 E-cores are still better performing.
 
One e-core =100%
one p-core 152%
p-core with HT=222%
So in very broad terms the p-core will still be faster but it always depends on what you run.

Thanks Terry and the others. That is informative information . The non-hyperthreaded E core doesn't fare as well as I had hoped.

Last night I was writing a program to tell how to distribute a workload among the two types of cores for maximum throughput. The results I was getting weren't making sense, but later I discovered the strange results were because of an error in my program. (I haven't fixed the error yet.)

 
Last night I was writing a program to tell how to distribute a workload among the two types of cores for maximum throughput. The results I was getting weren't making sense, but later I discovered the strange results were because of an error in my program. (I haven't fixed the error yet.)
I would argue unless you're trying to find micro-optimizations, which only really matters for apps that require low latency, let the OS and hardware do this for you.
 
  • Like
Reactions: Karadjgne
You can't think like the pc does, so unless you are doing something you know specifically only uses one type of core, like stress or torture testing with one set of cores disabled, best to just allow the scheduler to do it's own thing and decide what goes where and is used by whatever.
 
Thanks Terry and the others. That is informative information . The non-hyperthreaded E core doesn't fare as well as I had hoped.

Last night I was writing a program to tell how to distribute a workload among the two types of cores for maximum throughput. The results I was getting weren't making sense, but later I discovered the strange results were because of an error in my program. (I haven't fixed the error yet.)
Actually the 220% results are for the full CPU p and e-cores together at full clocks, I compared the numbers to the normal review of the 12900k.
You have to add the additional clocks and HTT to the 152% results to get the real number.
 
Windows is constantly monitoring the workload.
If a task is determined to not be time sensitive it will be dispatched on an E core.
It it is high priority, it will be dispatched on a P core.
Some of this monitoring is done by hardware to assist windows in scheduling tasks properly.
 
For their intended purpose, E-cores do much better than P-cores. It seems as if you equate speed with performance and that's a Negative Ghost Rider, speed is only relative to performance on equal terms, either equal in testing, component or statistic. So it doesn't really matter how E-cores and P-cores compare to each other, unless you run them through identical test that's equal to both, or in some tests the E-cores will out perform the P-cores, and in some tests the P-cores will out-perform the E-cores etc.

Der8aur OC'd some E-cores, disabled the P-cores and played several games that ran just fine, perfectly playable, but would be nowhere near the performance of what the P-cores would do. He also ran some parallel programming (essentially the same thing a gpu gets) through them, and dusted what he got from the P-cores alone.
 
Having been using a 5950X and 10700K, I was skeptical of the whole E-core and P-core concept...my primary use is productivity type applications which scale well to multi-core/multi-thread processing.

I recently replaced my 10700K (8 cores/16 threads) PC with a 13500 machine (6 P-cores/8 E-cores; 20 threads total). Cinebench R23 had scores of 12500 for the 10700K and 20500 for the 13500. Handbrake encodes showed similar performance differentials as R23.

I'm very happy with the 13th gen both in terms of performance and efficiency!!