I found an interesting thing about smartphone CPUs recently, It has been a while now since I started using Nexus 5, . I have rooted and its running on a custom kernel, and with tweaks for optimal performance and battery life. So I thought I’ll put my phone through some benchmarking tests and find out how it fares among the lot. I used AnTuTu benchmark and was expecting a score nothing short of 30000 which is kind of like a norm in other similar Snapdragon S800 SoC flaunting devices such as Samsung Note 3 and LG G2 (essentially a twin sibling of nexus 5). Surprisingly the scores came as low as 20000, even with the light weight OS on nexus. There is proof that other manufacturers cheat on benchmarks, especially Samsung, they boost CPU & GPU to unstable levels when the OS detects that there is some benchmarking app is running, most of OEMs do that, except Google, but still it can’t be as low as 20000 with all that specs, blazing fast Snapdragon S800 SoC with state of the art graphics and a 2 GB RAM. I have downloaded a system monitor and found out that all the 4 cores are maxing out at mere 1190 MHz during benchmark ,as opposed to the advertised Clock speed of 2.3 GHz. And even after quiting Benchmark all the cores kept on maxing out at 1190 MHz no matter what application I used. I did a reboot, after the reboot all cores started ticking at 2.3 GHz, but after around 5 minutes of intense use, again the cores maxed out at 1190 MHz. Rest of the system parameters didn’t change much during this period, but except the Core temperature, it gradually rose from early 60°F to ~80° F levels with intense use. Around that time this slowing down of CPU cores happens. So this should be a mechanism to prevent CPU from overheating.
So finally I did some online research and found out that this particular phenomenon is called thermal throttling and all of them smartphone throttles CPU at various temperatures. Nexus 5 throttles a bit aggressively at mere 60°F, with the stock Kernel. The CPU Governer in the kernel I’m using in my nexus 5 has the threshold temperature of ~70-80°F. Whereas the likes of Note 3 and G2 throttles only at higher temperatures. That means they can run at the max click speed of 2.3GHz for a longer time without being throttled down. They can manage to run at full clock speed of ~2.3 GHz during the benchmark process due to higher throttle threshold temperatures. But nexus easily yields, throttling down even before benchmark completes, owing to a lower throttle threshold temperature.
So that explains the lower benchmark scores of nexus compared to similar phones. Now what is it to the user, how does this translates to real world terms. Before that, one should understand two basic differences between desktop computers and mobile devices, one is the large space available in desktops, i mean physical space, providing efficient means to cooling of CPU, whereas mobile devices are space limited, current technology has limitations for putting efficient heat sinks in such small place. Another difference is, we tend to use desktops continuously for a long period and we need stable performance from them during the longer operating hours, but once our work is of we just turn them off or hibernates them. But in Mobile devices the case is different, the usage is mainly in short pulses of time. And rest, and most of the time they are in a low power consuming mode, or deep sleep, but they barely get to shut down completely. Translating this difference to CPU characteristics have essentially affected the evolution of PC and mobile device CPUs. On the desktop we need CPUs that give stable performance without throttling down in between, during the long and continuous operating periods. They can do so and there is no need to throttle because efficient heat dissipating mechanism are in place, thanks to the physical space available.
But in mobile devices most of the times we need good performance from the CPU for a shorter period of time quickly after we take it out of our pockets, and rest of the time it shall go to lower CPU clock speeds and voltages, effectively preventing the device from heating up much, also conserving the battery. Because everything in a mobile device run on a limited battery which should take us through the day, and efficient heat sinks as in desktops are far from reality in mobile world. Hence it is designed in such a way that CPU cores are mostly offline or one of them running at the minimum clock frequncy during idle so that the temperature will be well below throttle threshold during idle and when we wake the phone from idle CPU can run at max clock speed without throttling down for the sufficient period of time that we require. Most of the day to day tasks we do on mobile devices require no more than a throttled down clock frequency of a Snapdragon S800 SoC, in case you are using them for longer periods. One exception is apps like graphic intense games requiring more resources, which we will use for a longer period of time. There this throttling down may affect the performance, but it’s noteworthy that currently there are very few or almost nil apps/games which can challenge even a throttled down Snapdragon S800 SoC to a level of sgowing areal world difference. But surely such apps will come and its only a matter of time it’ll take before the apps that can beat current Snapdragon, surfaces. Then it might affect performance in real world scenarios. The day to day tasks will run without a difference neverthless. That we have to wait and see.
So for now, these optimizations ensures that the the prime concerns of the user are addressed, that the performance is guaranteed, at the same time ensuring best possible battery life, and that all of it comes in the small sized package that is your Smartphone or Tablet.
On a second note, Intel advertise their CPUs with clock speeds at which they can run stably without throttling down, and they also mention the Turbo speed to which their CPU can achieve at the cost of genetating more heat. So in Intel terms Snapdragon S800 SoC has a quad core CPU, each cores clocked at ~1.2 GHz with a turbo boost upto 2.3 GHz. Whereas Qualcom advertise their Snapdragon CPUs with turbo clock speeds, not the clock at which the CPU can run stably. Arguably thats what counts in mobile devices, and one can’t possibly go wrong in saying that in the case of mobile devices the turbo speed may be advertised as the CPU clock speed. Even Intel started doing the same with their newest Bay Trail series of SoCs for mobile devices. Its just a minor pardigm shift in advertising, it would be injustice to say these SoCs on your phone doesnt work as advertised.