Memory Performance

ARM made several improvements to the A73’s memory system. Both L1 caches see an increase in size, with the I-cache growing from 48KB (A72) to 64KB and the D-cache doubling in size to 64KB. The A73 includes several other changes, such as enhanced prefetching, that should improve cache performance too.

The A73 still has 2 AGUs like the A72, but they are now capable of both load and store operations instead of having each AGU dedicated to a single operation like in the A72, which should improve the issue rate into main system memory.

The Kirin 960’s larger 64KB L1 cache maintains a steady latency of 1.27ns versus 1.74ns for the Kirin 950, a 27% improvement that far exceeds the 2.6% difference in CPU frequency, highlighting the A73’s L1 cache improvements. L2 cache latency is essentially the same, but Kirin 960 again shows a 27% latency improvement over Kirin 950 when accessing main memory, which should be beneficial for the latency sensitive CPUs.

Memory bandwidth results are less definitive, however. The Kirin 960 shows up to a 30% improvement in L1 read bandwidth over the Kirin 950 depending on the access pattern used, although L1 write bandwidth is lower by nearly the same amount. The 960’s L2 cache bandwidth is also lower for both read and write by up to about 30%.

The two graphs above, which show reading and writing NEON instructions using two threads, help to illustrate Kirin 960’s memory bandwidth. When reading instructions, Kirin 960’s L1 cache outperforms the 950’s, but bandwidth drops once it hits the L2 cache. The Kirin 950 outpaces the 960 when writing to both L1 and L2, only falling below the 960’s bandwidth when writing to system memory. This reduction in cache bandwidth could help explain the Kirin 960’s performance regression in several of Geekbench 4’s floating-point tests.

Geekbench 4 - Memory Performance
Single Threaded
  Kirin 960 Kirin 950
(% Advantage)
Exynos 7420
(% Advantage)
Snapdragon 821
(% Advantage)
Memory Copy 4.55 GB/s 3.67 GB/s
(23.87%)
3.61 GB/s
(26.04%)
7.82 GB/s
(-41.84%)
Memory Latency 12.1 Mops/s 9.6 Mops/s
(25.39%)
5.6 Mops/s
(115.67%)
6.6 Mops/s
(81.82%)
Memory Bandwidth 15.5 GB/s 9.2 GB/s
(69.28%)
7.5 GB/s
(105.84%)
13.5 GB/s
(14.53%)

While the Kirin 960’s L1/L2 cache performance is mixed, it holds a clear advantage over the Kirin 950 when using system memory. Memory latency improves by 25%, about the same amount our internal testing shows, and memory bandwidth improves by 69%. The A73’s two load/store AGUs are likely responsible for a large chunk of the additional memory bandwidth, with the Mate 9’s higher memory bus frequency helping some too.

System Performance

Now it’s time to see how Kirin 960’s lower-level CPU and memory results translate into real-world performance, keeping in mind that OEMs can influence the balance between performance and battery life in a number of ways, including adjusting thermal limits and parameters that govern CPU scheduler and DVFS behavior, which is one reason why two devices with the same SoC can perform differently.

PCMark - Work 2.0 Performance Overall

PCMark - Web Browsing 2.0

PCMark - Writing 2.0

PCMark - Data Manipulation 2.0

PCMark includes several realistic workloads that stress the CPU, GPU, RAM, and NAND storage using Android API calls many common apps use. The Mate 9 and its Kirin 960 SoC land at the top of each chart, outpacing the Mate 8 and its Kirin 950 by 15% overall and the top-performing Snapdragon 821 phones by up to 20%.

The Mate 9’s advantage over the Mate 8 is only 4% in the Web Browsing test, but it’s still the fastest phone we’ve tested so far. Integer performance is not the Kryo CPU’s strength, and in this integer-heavy test all of the Snapdragon 820/821 phones fall behind SoCs using ARM’s A72 and A73 CPUs, with LeEco’s Le Pro3, the highest performing Snapdragon 821 phone, finishing 18% slower than the Mate 9.

The Writing test performs a variety of operations, including PDF processing and file encryption (both integer workloads), along with some memory operations and even reading and writing some files to internal NAND, and it tends to generate frequent, short bursts of activity on the big CPU cores. This seems to suit the Mate 9 just fine, because it extends its performance advantage over the Mate 8 to 23%. There’s a pretty big spread between the Snapdragon 820/821 phones; the LeEco Le Pro3, the best performer in the family, is 40% faster than the Galaxy S7 edge, a prime example of how other hardware components and OEM software tinkering can affect the overall user experience.

The Data Manipulation test is another primarily integer workload that measures how long it takes to parse chunks of data from several different file types and then records the frame rate while interacting with dynamic charts. In this test, the Mate 9 is 30% faster than the Mate 8 and 37% faster than the Pixel XL.

Kraken 1.1 (Chrome/Safari/IE)

WebXPRT 2015 (Chrome/Safari/IE)

JetStream 1.1 (Chrome/Safari)

All of the Snapdragon 820/821 phones perform well in the Kraken JavaScript test, pulling ahead of the Mate 9 by a small margin. The P9 uses Kirin 955’s 7% CPU frequency advantage to help it keep up with the Mate 9 in Kraken and JetStream. The Mate 9 still pulls ahead by 11% in WebXPRT 2015, though, and outperforms the Mate 8 by 10% to 19% in all three tests. The Moto Z Play Droid, the only phone in the charts to use an octa-core A53 CPU configuration, cannot even manage half the performance of the Mate 9, which is similar to what our integer IPC tests show.

The Kirin 960 showed mixed results in our lower-level CPU and memory testing, pulling ahead of the Kirin 950 in some areas while falling behind in others. But when looking at system level tests using real-world workloads, the Mate 9 and its Kirin 960 are the clear winners. There are many hardware and software layers between you and the SoC, which is why it’s important not to use an SoC benchmark to test system performance and a system benchmark, such as PCMark, to test CPU performance.

CPU Performance CPU Power Consumption and Thermal Stability
POST A COMMENT

86 Comments

View All Comments

  • Meteor2 - Wednesday, March 15, 2017 - link

    Andrei! That's a pretty big stamp :). I hope you're well. Reply
  • aryonoco - Tuesday, March 14, 2017 - link

    A great article, very insightful, and absolutely unique on the web.

    Well done Matt, well done AT.
    Reply
  • name99 - Tuesday, March 14, 2017 - link

    One issue in comparing the GeekBench results to the SPEC results is the question of compiler optimization.
    Were the SPEC results specifically targeted at the A73? And using the most recent version of LLVM?

    GeekBench (as far as I can tell) compiles a particular version (say version 4) with a particular compiler and target, and does not update those over time until say GeekBench 5 is released. This is not an awful practice --- it certainly makes it a lot easier to compare results in such a way that compiler optimizations don't confuse the issue. But it DOES mean that
    - the SPEC results may be picking up A73 specific tuning that GeekBench does not reflect.
    - depending on when you compiled the comparison AArch64 binaries, some fraction (and this may be high, 5% or more) of the A73 "improvement" may reflect LLVM improvement, both generally and in specific ARMv8 optimizations.

    If the SPEC results were "maximally" compiled (so that LTO was used, something that only really started to work well in the most recent LLVM versions) there could be even more of a compiler-based discrepancy.
    Reply
  • MrSewerPickle - Thursday, March 16, 2017 - link

    Thank you guys for the review. Please keep these details up and going. You guys are a rarity these days and still doing great. Facts are hard to post without rambling about them and excessive opinion rambling accompanying it. Reply
  • socalbigmike - Thursday, March 16, 2017 - link

    Just don't try and run any apps on it! Because half of them will NOT run. Reply
  • darkich - Thursday, March 23, 2017 - link

    Wow they messed up again with that high clocked GPU implementation. Just ridiculous..Huweai making the same mistake over and over again, refusing to take note from Samsung ..I'm certain the Samsung's low clocked G71 MP18 will consume far less power than this 8 core setup! Reply

Log in

Don't have an account? Sign up now