System Performance

Raw CPU performance doesn’t always translate into actually better performance in-real world applications. Synthetic benchmarks are constant and long-running in their nature so performance response isn’t something that’s being tested. Real applications are a lot more bursty in their nature and might not only require high performance, but require high performance as fast as possible. Here a SoC’s scheduler and DVFS settings can have large impact on perceived “responsiveness”.

On Android, Futuremark’s PCMark is currently the best tool we have at hand to measure reproducible UI workloads. PCMark on Android makes usage of OS APIs and thus should be representative of workloads commonly found in applications.

PCMark Work 2.0 - Web Browsing 2.0

Starting off with the Web Browsing 2.0 benchmark, the Snapdragon Galaxy S9 performs very similar to the QRD845 which we previewed in February. The performance boost for the Snapdragon 845 is 12% compared to the Pixel 2 which was the best performing Snapdragon 835 platform.

We’re off for a troubling start for the Exynos 9810 as it posts some disappointing scores in the web test. We first covered the surprisingly bad performance of the new SoC in our MWC on-hands article, and while the final commercial posted a very slight improvement, it’s still massively underwhelming compared to what we expected.

PCMark Work 2.0 - Video Editing

The video test is both in part a test of CPU responsiveness as well as SoC decoder/encoder as well as OS API tests – with a mix of I/O performance thrown in. Flagship devices in this test have been relatively grouped tightly together for some time now but the Snapdragon 845 still manages a slight lead over the Exynos 9810 Galaxy S9.

PCMark Work 2.0 - Photo Editing 2.0

The Photo Editing test uses OS APIs to apply common effects on pictures, which in turn make use of RenderScript to enable GPU acceleration. The Qualcomm Galaxy S9 again posts excellent performance here, while not quite matching the promised performance on the QRD845, it still leads all other commercial devices.

Huawei’s Kirin SoCs use the same Mali GPU in an even weaker configuration, yet they showcase over double the performance. The issue here on Samsung SoCs again seems to be software related as the Renderscript are relatively short which makes the GPU never goes past the minimum 260MHz. Huawei optimises the DVFS driver to compute workloads and enacts a boost to ensure better performance.

PCMark Work 2.0 - Writing 2.0

PCMark Work 2.0 - Data Manipulation

The Writing and Data Manipulation tests are also heavily reliant on OS APIs and make use on Android UI rendering. The Snapdragon 845 here sees a larger discrepancy from the QRD platform, especially in the data manipulation test. The Writing test is especially I feel is a workload that is able to accurately represent the “snappiness” feeling of a device and to date the relative ranking between devices.

The Exynos Galaxy S9 again does not do well in in any of these workloads. I’ll talk about how this translated into real world performance in a bit.

PCMark Work 2.0 - Performance

The overall performance for PCMark and the Galaxy S9 sees a stark contrast between the Snapdragon and Exynos variants. Both variants don’t show that great of improvements over their predecessors, but the Exynos variant especially has such meagre improvements that it barely manages to distance itself from last year’s Exynos 8895 Galaxy S8 running Android Oreo 8.0 firmware. I also was disappointed in the PCMark performance of the Snapdragon 845 – but at least again this variant of the Galaxy S9 manages to top the rankings of current commercial devices, even if it doesn’t quite match the QRD845 scores.

As an aside, I’m still disappointed that Google restricted Accessibility Events in Android 7 and consequently  broke one of my favourite performance measuring tools; DiscoMark, which we last used in our Galaxy Note7 review. DiscoMark was able to empirically measure application startup times without them having to be compiled with debugging features on – the results were the best we ever had in terms of device responsiveness.

Until I find a replacement to empirically measure responsiveness, what I can give is my subjective experience with both variants of the Galaxy S9. The Snapdragon variant of the S9 is extremely fast and is up there with Google’s Pixel 2’s and is among the fastest Android devices I’ve used. I’ve got very little to complain about as it performed superbly. The Exynos 9810 was equally an extremely fast device, and make no mistake it as was among one of the fastest devices out there, however I found that it didn’t quite match the UI responsiveness of the Snapdragon variant in some scenarios. I also recently upgraded my Exynos 8895 Galaxy S8 to Android 8.0 Oreo and that seemed to have improved responsiveness when switching between apps, which further closed the gap between it and the Exynos 9810 variant of the S9.

Continuing onto our latest set of browser benchmarks we start with our new adoption of Speedometer 2.0 which is meant to replace past JavaScript micro-benchmarks with more representative JS framework tests showcasing web UI responsiveness. The benchmark is backed by the WebKit team at Apple and fully endorsed by Google’s Chrome team.

Speedometer 2.0 - OS WebView

The Snapdragon Galaxy S9 sees the excellent boost that we saw on Qualcomm’s reference platform and even actually manages to beat that score, leading all Android devices. Apple’s iPhone 7 and iPhone 8 generations are still ahead – this is due to Apple’s much faster Nitro JS engine which keeps improving, but also thanks to the A- chipset’s excellent CPUs which do great work in terms of raw performance.

The Exynos 9810 Galaxy S9 posts a massively disappointing score and just barely manages to outperform last year’s Galaxy S8’s by a hair’s margin. Certainly when I first heard of Samsung’s new big CPU I expected finally to have a SoC manage to compete in Apple in performance, however what we’re seeing here is just bad.

I hinted out that we would be switching to WebXPRT 3 for our 2018 suite and PrincipledTechnolgies released the new benchmark in late February. This will be the last article including WebXPRT 2015 as we compare the relative ranking of devices in both benchmarks.

WebXPRT 2015 - OS WebView

WebXPRT 3 - OS WebView

The Galaxy S9 in its Snapdragon variant sees excellent gains in both benchmarks and puts a clear generational gap between it and past Android devices, and actually manages to outperform the iPhone 7 in this test.

On the Exynos side of things we see again the trend of disappointing scores as this variant of the Galaxy S9 cannot distinguish itself against an Android 8.0 running variant of the E8895 Galaxy S8, going as far to scoring less than both S8’s in WebXPRT 2015.

Are the benchmarks correct, and why are they like that?

AnandTech is usually data-driven when making claims about performance so the stark contrast between the Exynos’ synthetic performance and the system benchmarks more than ever question the validity of both. There are two questions to answer here: are the benchmarks still working as intended and representative, and if they are, what happened to the Exynos 9810’s raw performance?

For the first question, I haven’t seen any evidence to contradict the results of our system benchmarks. The Exynos 9810 variant of the Galaxy S9 simply isn’t any faster in most workloads and in one-on-one comparisons against the Snapdragon 845 variant it was indeed the less consistent one in performance and losing out in terms of responsiveness, even if that difference in absolute terms is very minor.

As to why this is happening on the Exynos is something that I attribute to scheduler and DVFS. Samsung’s new scheduler and DVFS just seems absolutely atrociously tuned for performance. I tested an interactive workload on both Snapdragon and Exynos devices and the contrast couldn’t be any greater. On the Snapdragon 845 Galaxy S9 a steady state workload thread will seemingly migrate from a full idle state of the little CPUs onto the big CPUs after 65ms. At the migration moment the big CPUs kick into full gear at 2803MHz and will maintain that frequency for as long as the workload demands it.

On the Exynos 9810 Galaxy S9 the same workload will also migrate around at the 60ms time from the little cores up to the big cores, however once on the big cores the thread starts at the lowest frequencies of the big cluster – 650-741MHz. It takes the workload a whole 370ms until it reaches the 2314MHz state of the M3 cores – which according to the SPEC benchmarks is around the maximum single-threaded performance of the Snapdragon 845’s performance cores. To reach the full 2703MHz of the M3 cores the workload needs to have been active for a staggering 410ms before the DVFS mechanism starts switching to that frequency state.

UI workloads are highly transactional and very rarely is there something which takes longer than a few frames. The fact that the Exynos 9810 takes over 5x longer to reach the maximum performance state of the Snapdragon 845 basically invalidates absolutely everything about the performance of its cores. For workloads which are shorter than 400ms (which is a *lot* of time in computing terms) the Snapdragon will have already finished the race before the Exynos warms up. Only at higher workload durations would the Exynos then finally catch up. Acceleration vs maximum speed being the key aspects here. This is Samsung’s first EAS based scheduler for Exynos devices, and the way the schedutil governor is tuned here is a great disappointment for performance.

Beyond the Exynos’ overzealous “slow-and-steady” DVFS approach I’m also not happy how the core count/maximum frequency mechanism is implemented. This is a simple HR timer task that checks the CPU runqueues and based on a threshold of heavy threads it simply offlines or onlines the CPUs. The fixed interval here is 15ms when in a quad-core state and 30ms in dual- and single-core states. Beyond the fact that the whole offlineing/onlineing of the cores is extremely inefficient as a scheduler mechanism, it’s worrisome that when the SoC is in dual or single-mode and there’s suddenly a burst of threads, the CPUs will be highly underprovisioned in terms of capacity up to 30ms until the mechanism turns back on the other cores.

The fact that the DVFS mechanism is so slow completely invalidates the benefit of such a mechanism in the first place as the one use-case where single-threaded performance trumps everything is web-browsing and heavy JavaScript workloads, which by nature, are short and bursty. Samsung should have simply completely ignored frequencies above 2.1-2.3GHz (matching the Snapdragon in ST Performance), ignored this whole variable maximum frequency mechanism, and instead concentrated on getting performance through scheduler and DVFS response-time, something which Qualcomm seems to have learned to master. In the end S.LSI investment in a performant custom CPU core is sabotaged by very questionable software, and the Exynos’ CPU performance goals go largely unfulfilled in real interactive workloads.

CPU Battle - SPEC Performance & Efficiency GPU Performance & Power


View All Comments

  • lopri - Monday, March 26, 2018 - link

    Oh and there is no Fraps on Android or (gasp) iOS as far as I know. One that actually works. Reply
  • jjj - Tuesday, March 27, 2018 - link

    Anything is better than synthetic.
    What happens in this review is a great example because judgements are made about how perf and power are balanced, without any testing in appropriate workloads. The SoC needs to be tuned for actual workloads, and aside from anecdotal evidence, there is no data. AT loves to say that it's data driven but if you don't have the relevant data.... You can't determine the color of the sky by licking a wall.
    Synthetic benchmarks are a best effort from a developer but they can never match real world apps. PCMark for example, some phones with 8xA53 at 2GHz can score over 5k points so almost as much as the Exynos here.
    It's been 10 years and nobody makes any effort to review phones. Even battery life, it's either synthetic or browsing with nothing else going on, utterly unrealistic.
  • ZolaIII - Tuesday, March 27, 2018 - link

    You can profile individual apps & use them while doing so but the results will vary to much even if your usage is minor like for instance video player & same video. Simply Android platformom has to much back processes and noise for reliable measuring especially if those are lite tasks. Reply
  • techconc - Tuesday, April 17, 2018 - link

    Do you understand the sub tests in something like Geekbench for example? Are you going to claim that they are not representative of real world functions that your phone uses on a regular basis? Screaming no synthetic benchmarks like a lunatic without offering a better and generally accepted alternative is not helpful. Reply
  • peevee - Friday, April 6, 2018 - link

    Firefox. With an adblocker installed. Reply
  • name99 - Tuesday, March 27, 2018 - link

    Oh FFS.
    Different benchmarks test DIFFERENT THINGS. What you call a synthetic benchmark is a great test of very specific parts of the CPU or memory system.
    If you don't care about details, don't freaking look at the synthetic benchmarks and go straight to whatever whole system benchmark it is that floats your boat.

    But don't throw a hissy fit because the guys who ARE interested in **CPU** performance don't want to see numbers that are fscked up by the OS behavior, the performance of the flash, or whatever other random nonsense gets it to confuse the issue.
  • lilmoe - Wednesday, March 28, 2018 - link

    Of course, synthetics at constant max load have never reflected real world performance of mobile devices. We know this. What I like about these deep dives is the fact that you can evaluate the data yourself and make educated assumptions about what one might expect. Here's a rough summary of what I believe is applicable to both chips in the S9 with the current firmware:

    - Exynos is the faster chip. But it's handicapped for feature and performance parity with the SD. Optimizations in Oreo might have contributed to how such a conservative scheduler passed QC.
    - Snapdragon will be snappier (no pun intended) in certain workloads and general app load times.
    - Exynos will last longer in games, video playback and streaming.
    - Snapdragon might last longer in web browsing.
    - Snapdragon Will last longer in video and voice calls in unoptimized messaging apps.

    These are examples I thought of quickly. It's funny, but I also watch some youtubers doing their "tests". Combine these tests with the data presented here and there you go.
  • eastcoast_pete - Monday, March 26, 2018 - link

    For me, the winner is - the one that didn't compete here: the S8+ (with the 835 chipset). Seriously. With the S9/9+ now out, an S8 or S8+ can be had for hundreds of $ less than the corresponding S9 or S9+ , and that makes the S8 or S8+ right now the best value for money among higher-end Sammys. To boot, nobody will notice it's last year's model, as the S8 and S9 look almost identical. IMO, the main upside for an S9+ is the camera, especially the video capabilities, but, at what a price -ouch!

    Processors: Progress - What progress? The 845 did a bit better than the 835, mostly by being clocked higher (and eating a bit more power), while the new M3-based Exynos was really disappointing. I am also disappointed with Qualcomm's 845, and here is why: the 845 is manufactured in the (supposedly) more energy efficient 10 nm LPP (Samsung's newest and hottest), so - where are the power savings? I can't help but wonder how an 835 manufactured in 10 nm LPP would have fared? As is, the 835 mostly holds it's own where it counts (real life situations), and is far from being outclassed by the 845 (or the M3 Exynos, but that is kicking a chip when it's down).
    Lastly, regarding Andrei's comment on Samsung's software: right on. Samsung has pretty consistently made the best or among the best Android smartphones out there - I have owned a few of them. But, while Samsung's hardware generally get's a A or A- , the software that Samsung loads (burdens) their phones with has ranged between annoying to debilitating; apparently, that carelessness on the software side extends all the way down to low-level programming this time - not good.
    Several years ago and for a short time, one could buy a Samsung phone with stock Android from Google directly. While I realize that won't happen again any time soon, I would love to see an S8+ (835) with just plain-vanilla Android 8.1 (or 9?), no skin, no bloatware. I might even buy one, before they're gone.
  • BigDH01 - Monday, March 26, 2018 - link

    The perf/W graph is confusing to me as it's measured in fps/W. This breaks down into (frames/sec)/(J/s). Why not just frames/joule? Reply
  • Andrei Frumusanu - Monday, March 26, 2018 - link

    Because Watts are important to note as a thermal indicator. It gives more information than frames/J. Reply

Log in

Don't have an account? Sign up now