Also CLEVO must have better cooling / less throttling if it happens (and most likely on 4 gHz with slim ASUS it will)
@jonathon Thanks for the insights ⦠you saved me the time I would have burned doing my own DuckDuckGo research to try to figure out why. I used to stay current on the hardware stuff, but it looks like Iāve gotten soft from working in the cloud where the answer is to just throw more compute instances at things.
More good points ⦠if I am remembering correctly the Clevo was targeted as a mid range gaming machine at the time I bought it, while the ASUS is a 2-in-1 that was marketed on itās portability and battery life.
It wonāt be that bad
defconfig
makes for a very small kernel, itās not like compiling the Arch kernel.
It looks to me like thereās something wrong with these numbers.
The i7-8550u is a very capable CPU. Iād say that deserves revisiting if your time and curiousness also agree. Might it be possible that something else was also running on that machine at that time? Or maybe some power-saving profile was active at the time of testing? You could investigate with s-tui
to see if the CPU reaches its designated boost frequencies, and if it doesnāt it should also show if itās a matter of throttling (s-tui monitors temps and power draws also).
In all benchmarks iāve seen the i7-10710U was only about 50%-60% higher in multithreaded score compared to the i7-8550U (just from the two extra cores).
The Clevo machine and the ASUS machine should be comparable performance wise, maybe 20% apart, in spite of them being HQ vs U CPU families (generation increments improved power efficiency).
Even if throttling was to occur, that is a much to severe handicap to be real.
EDIT: In the link @jonathon has provided the two CPUs have very close score (6465 vs 6004):
https://www.cpubenchmark.net/compare/Intel-i7-6700HQ-vs-Intel-i7-8550U/2586vs3064
You are right on target. I ran the compile and watched what was happening through s-tui ⦠during the first 20 seconds or so of the build I could see all 8 cores registering around the 3.7GHz defined turbo speed. After about 20 seconds the temperatures hit 45C, the fan kicked on at 3k rpm. The speed dropped to the base 1.8GHz with all 8 cores at 100% utilization and the fan kicked on at 3k rpm. However, the temperature never went much above 50C. Clearly there is throttling taking place. Guess Iāll need to start reading up on RAPL and look at msr-tools ⦠maybe I can tweak some setting to unlock some of that power? (you know, without burning things up of course!)
This is what it looks like when running:
Itās not throttling due to heat, but because it reaches itās maximum power draw limit (TDP). From what I can see the power limit in your screenshot is set to around 5W which tells me the CPU is probably running in power conservation mode. The CPU should run at 15W based on the official site, and the manufacturer has the discretion to limit it to 10W based on the cooling solution implemented. But the 5W limit must be caused by some power settings. TLP may be the cuplrit.
Check /etc/tlp.conf
to see what power governor is set for AC.
I have these settings on my machine (youāll notice #slimbook references because I use slimbook to tune performance parameters when running on battery):
CPU_SCALING_GOVERNOR_ON_AC=performance
#slimbook
CPU_SCALING_GOVERNOR_ON_BAT=powersave
# Set the min/max frequency available for the scaling governor.
# Possible values depend on your CPU. For available frequencies see
# the output of tlp-stat -p.
# Default: <none>
CPU_SCALING_MIN_FREQ_ON_AC=0
CPU_SCALING_MAX_FREQ_ON_AC=6000000
CPU_SCALING_MIN_FREQ_ON_BAT=0
CPU_SCALING_MAX_FREQ_ON_BAT=6000000
#slimbook (4 lines)
# Set Intel CPU energy/performance policies HWP.EPP and EPB:
# performance, balance_performance, default, balance_power, power
# Values are given in order of increasing power saving.
# Notes:
# - Requires an Intel Core i processor
# - HWP.EPP requires kernel 4.10 and intel_pstate driver
# - EPB requires kernel 5.2 or module msr and x86_energy_perf_policy
# from linux-tools
# - When HWP.EPP is available, EPB is not set
# Default: balance_performance (AC), balance_power (BAT)
ENERGY_PERF_POLICY_ON_AC=balance-performance
ENERGY_PERF_POLICY_ON_BAT=balance-performance
ENERGY_PERF_POLICY_ON_AC=balance-performance
ENERGY_PERF_POLICY_ON_BAT=balance-performance
#slimbook (2 lines)
CPU_HWP_ON_AC=performance
CPU_HWP_ON_BAT=power
#slimbook (2 lines)
# Set Intel CPU P-state performance: 0..100 (%).
# Limit the max/min P-state to control the power dissipation of the CPU.
# Values are stated as a percentage of the available performance.
# Requires an Intel Core i processor with intel_pstate driver.
# Default: <none>
CPU_MIN_PERF_ON_AC=0
CPU_MAX_PERF_ON_AC=100
CPU_MIN_PERF_ON_BAT=0
CPU_MAX_PERF_ON_BAT=100
#slimbook (4 lines)
# Set the CPU "turbo boost" feature: 0=disable, 1=allow
# Requires an Intel Core i processor.
# Important:
# - This may conflict with your distribution's governor settings
# - A value of 1 does *not* activate boosting, it just allows it
# Default: <none>
CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=1
#slimbook (2 lines)
# Minimize number of used CPU cores/hyper-threads under light load conditions:
# 0=disable, 1=enable.
# Default: 0 (AC), 1 (BAT)
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
#slimbook (2 lines)
Anyway, the best performance improvements you can get when the CPU is limited (by TDP or temp) is to undervolt. Even if you manage to solve the TDP limitations you might want to give intel-undervolt
a try.
Iām getting 400mhz extra on my all core stats with the following settings:
$ sudo intel-undervolt read
CPU (0): -134.77 mV
GPU (1): -0.00 mV
CPU Cache (2): -99.61 mV
System Agent (3): -0.00 mV
Analog I/O (4): -0.00 mV
135 mV undervolt! My, thatās good! Have you tested it for stability (e.g. 2-3 hours of mprime or similar)?
By the way, intel-undervolt
also supports changing power limits. See the config file for more info (it might a pacnew
).
CPU: Dual Core Intel Core i5-7200U (-MT MCP-) speed/min/max: 1565/400/3100 MHz
9:17.30
Iāve done some stress testing and lowered the values until I found a stable one, then went a bit lower and never bothered with it more. The results were amazing: as I said, the boost clocks went up by 400mhz and kept stable at that value. No freeze, no problems in more than 6 months of work on this machine. Thatās because the CPU was now able to get more work done within its TDP limits.
Ok, I see. I use intel-undervolt solely for reducing temperatures, even without it there is zero throttling, but itās a laptop with relatively high TDP limits.
Taking some of the hints from @anon31549144 I did a little tweaking with tlp, thermald and intel-undervolt setttings. I am sure there is still a lot of tuning I can do, as I tried to be a little conservative with the settings for my first few runs.
Anyway, here is the comparison of numbers for my ASUS UX461UN with the i7-8550u. For the most part, I was able to reduce my times to a little under half or what I was seeing:
real 11m41.908s --> 5m34.087s reduced to 47.6% of original time
user 82m28.841s --> 38m28.084s reduced to 46.6% of original time
sys 8m12.556s --> 3m43.629s reduced to 45.4% of original time
Thanks to @jonathon and @anon31549144 for pointing me in the right direction to address a performance issue I didnāt even realize I had!
Thatās great. Double the performance is something. Although, closer to reality would be to say the CPU was running at half its normal performance previously.
No, no, itās better to sell it as doubled performance than getting the performance you shouldāve had. Donāt you know anything about marketing?
Machine 1
CPU: Intel Core i7-4770K | 22nm, 3.5GHz, 4 core, Haswell, LGA1150, L3 8Mb
GPU: Titan X EVGA 12G-P4-2990-KR | 28nm, 1000/1753/1076mHz, GDDR5, 12Gb
RAM: G.SKILL TridentX+ F3-2666C11Q-32GTXD | 2666mHz, 11 13 13 35, 1.65V, DDR3, 32Gb
SSD: Samsung 850 PRO MZ-7KE512BW | SATA 3, 512Gb
real 4m20,429s
user 29m44,905s
sys 2m46,053s
Machine 2
CPU: Intel Core i9-8950HK | 14nm, 2.9 - 4.8GHz, 6 core, Coffee Lake-H, FCBGA1440, L3 12Mb
GPU: Nvidia Quadro P5200 | 16nm, 1316/1804/1569mHz, GDDR5, 16Gb
RAM: Micron Tech. 16ATF2G64HZ-2G6E1 | 2666mHz, 19 19 19 43, 1.2V, DDR4, 64Gb
SSD: Samsung PM981 | M.2, 256Gb
real 2m52,825s
user 29m6,930s
sys 2m38,414s
with schedule on performance ?
also add if HT is on or not ( 8 threads / 12 threads )
Both with HT so cores x2 (8 / 12), and no, schedule was default - you think it will affect somehow?
I watched for curiousity cpu monitor was 99-100% on all cores
you can monitor with s-tui
if you have a very good cooling there will be difference ,
also try without apps opened ( quit all apps )
Yep i have water, will try later for interest!
And obviously i can overclock both to stratosphereā¦But i prefer stock freqs
It was just KDE after startup no apps except system monitor for just 5 seconds
I ran the test on several machines, My gaming desktop, My Zenbook laptop, on AC and Battery and then on an VM with 16 and 32 cores. Interesting that the difference between 16 and 32 was null not sure why, perhaps someone can inform me as to why.
Desktop
OS: EndeavourOS Linux x86_64
Kernel: 5.9.0-rc1-1-mainline
CPU: AMD Ryzen 5 3600 (12) @ 3.600GH
real 2m4.201s
user 20m26.376s
sys 2m12.739s
Desktop W/ 8GB RamDisk
OS: EndeavourOS Linux x86_64
Kernel: 5.9.0-rc1-1-mainline
CPU: AMD Ryzen 5 3600 (12) @ 3.600GH
real 2m4.218s
user 0m27.858s
sys 2m13.734s
Zenbook Pro
OS: Pop!_OS 20.04 LTS x86_64
Host: ZenBook Pro 15 UX550GE
Kernel: 5.4.0-7642-generic
CPU: Intel i7-8750H (12) @ 4.100GHz
On battery [power mode: High Performance]:
real 5m13.743s
user 55m48.279s
sys 4m21.891s
On AC:
real 3m11.658s
user 33m23.810s
sys 2m36.364s
VM 16 Cores
OS: EndeavourOS Linux x86_64
Host: VMware7,1 None
Kernel: 5.8.3-arch1-1
CPU: Intel Xeon E5-2680 0 (16) @ 2.6
real 2m30.424s
user 31m0.694s
sys 3m30.565s
VM 32 Cores
OS: EndeavourOS Linux x86_64
Host: VMware7,1 None
Kernel: 5.8.3-arch1-1
CPU: Intel Xeon E5-2680 0 (32) @ 2.6
real 2m33.116s
user 60m59.464s
sys 7m9.495s
VM 32 Cores W/ 15GB RamDisk
OS: EndeavourOS Linux x86_64
Host: VMware7,1 None
Kernel: 5.8.3-arch1-1
CPU: Intel Xeon E5-2680 0 (32) @ 2.6
real 2m39.883s
user 61m45.231s
sys 7m32.575s