So i have commented in the past on how I think XFR works really well for single core performance,
Now I have a 9900k in my system I have been looking at how well the intel turbo clocks work.
So unlike AMD, Intel requires cpu parking to be active for their higher speed bin's to function. Whilst AMD simply requires the load to be low enough. In short this means it is way easier to get single core boosts on day to day usage vs Intel.
Apparently Windows 10 by default disable's cpu parking on desktops, if this is correct it means on a out of the box intel system, it will only use the all core turbo clock's e.g. 4700mhz on a 9900k.
To expose the core parking settings in windows power options applet requires a registry setting change which is already done on my system , the OS is windows 8.1 (planned to shift this to win LTSC later this year).
On my balanced profile min cores for cpu parking was set to 60%, so this basically means only a max of 40% cores can be parked, this means that the 1-2 core 5ghz clock's will never kick in for more than a split second. On aggressive, it is set to 100%, meaning no core parking at all, so max 4.7ghz.
Windows itself also has a weird cpu scheduling behaviour where it will frequently move low threaded workloads to different cores, linux doesnt behave this way like most other OS, but windows does for some reason, this adds content switch overheads and would also lose some performance on turbo clock system sas the cpu would have to adjust clock speeds on the new core when it switches, and there is time lag when this happens.
There is on exception though, at intel's request Microsoft developers made it so if a core is parked it will not be woken up for the switching on light threaded workloads, so in practice this should also boost single, low threaded workload performance on top of the faster clock speeds.
So I have done some quick dirty tests using cpuz bench, since that is executed so quickly.
The results are interesting.
If I park 80% of cores, (it wont park any more regardless of how I set the %). this leaves 2 physical cores active, and the cpu I can see in hwinfo maintains 5ghz during the single thread test, however the score is "lower" than if all cores are awake, and its "not" within margin of error. So e.g. Here is two scores.
All cores active 4700mhz - 559 single core result
2 cores active 5000mhz - 538 single core result
I also tested an in between scenario and can see with 50% of cores parked, which just about gives the 4.9ghz binning, I get a whopping 580. The default 40% cores parked gives 555 at 4800mhz.
This is very odd behaviour, on my 2600X system the scores correlate with what is expected.
The theories I have are as follows.
1 - There is background cpu activity, when more cores are enabled, then this load is less likely to interfere on the benchmark, whist with only 2 cores it is likely the benchmark is competing with background windows activity for resources, that is logical. But this doesnt make complete sense as it would also apply to AMD.
2 - On the AMD system, the ryzen scheduler seems to adjust the windows scheduling behaviour so that single threaded workloads stick to one core, whilst on Intel, they move around all active cores, which does lose performance.
I also did some tests by bumping the all core speeds so e.g. all cores to 4800mhz, and this behaves as expected bumping scores when the all core turbo is activated.
So the short summary of this is that the stock turbo feature of intel chips doesnt even seem to perform properly due to a combination of the windows parking behaviour and the scheduling behaviour. The only way on these system's to get full single core performance is in my view is to actually do an all core clock boost. But it also works ok if you configure the 4 core boost to 5ghz and set cpu parking to 50% in windows. I think this goes some way to explaining as well why OOB tests of intel vs AMD why AMD is performing so well. As intel's turbo seems flawed in my opinion, in that respect the tests are fair, its up to intel to fix the feature.
Now I have a 9900k in my system I have been looking at how well the intel turbo clocks work.
So unlike AMD, Intel requires cpu parking to be active for their higher speed bin's to function. Whilst AMD simply requires the load to be low enough. In short this means it is way easier to get single core boosts on day to day usage vs Intel.
Apparently Windows 10 by default disable's cpu parking on desktops, if this is correct it means on a out of the box intel system, it will only use the all core turbo clock's e.g. 4700mhz on a 9900k.
To expose the core parking settings in windows power options applet requires a registry setting change which is already done on my system , the OS is windows 8.1 (planned to shift this to win LTSC later this year).
On my balanced profile min cores for cpu parking was set to 60%, so this basically means only a max of 40% cores can be parked, this means that the 1-2 core 5ghz clock's will never kick in for more than a split second. On aggressive, it is set to 100%, meaning no core parking at all, so max 4.7ghz.
Windows itself also has a weird cpu scheduling behaviour where it will frequently move low threaded workloads to different cores, linux doesnt behave this way like most other OS, but windows does for some reason, this adds content switch overheads and would also lose some performance on turbo clock system sas the cpu would have to adjust clock speeds on the new core when it switches, and there is time lag when this happens.
There is on exception though, at intel's request Microsoft developers made it so if a core is parked it will not be woken up for the switching on light threaded workloads, so in practice this should also boost single, low threaded workload performance on top of the faster clock speeds.
So I have done some quick dirty tests using cpuz bench, since that is executed so quickly.
The results are interesting.
If I park 80% of cores, (it wont park any more regardless of how I set the %). this leaves 2 physical cores active, and the cpu I can see in hwinfo maintains 5ghz during the single thread test, however the score is "lower" than if all cores are awake, and its "not" within margin of error. So e.g. Here is two scores.
All cores active 4700mhz - 559 single core result
2 cores active 5000mhz - 538 single core result
I also tested an in between scenario and can see with 50% of cores parked, which just about gives the 4.9ghz binning, I get a whopping 580. The default 40% cores parked gives 555 at 4800mhz.
This is very odd behaviour, on my 2600X system the scores correlate with what is expected.
The theories I have are as follows.
1 - There is background cpu activity, when more cores are enabled, then this load is less likely to interfere on the benchmark, whist with only 2 cores it is likely the benchmark is competing with background windows activity for resources, that is logical. But this doesnt make complete sense as it would also apply to AMD.
2 - On the AMD system, the ryzen scheduler seems to adjust the windows scheduling behaviour so that single threaded workloads stick to one core, whilst on Intel, they move around all active cores, which does lose performance.
I also did some tests by bumping the all core speeds so e.g. all cores to 4800mhz, and this behaves as expected bumping scores when the all core turbo is activated.
So the short summary of this is that the stock turbo feature of intel chips doesnt even seem to perform properly due to a combination of the windows parking behaviour and the scheduling behaviour. The only way on these system's to get full single core performance is in my view is to actually do an all core clock boost. But it also works ok if you configure the 4 core boost to 5ghz and set cpu parking to 50% in windows. I think this goes some way to explaining as well why OOB tests of intel vs AMD why AMD is performing so well. As intel's turbo seems flawed in my opinion, in that respect the tests are fair, its up to intel to fix the feature.