CPU & Memory Performance - Samsung Galaxy S8 Showdown: Exynos 8895 vs. Snapdragon 835, Performance &

Before we evaluate the Galaxy S8s system-level performance and battery life, well run some lower-level tests to examine CPU integer and floating-point IPC and memory system throughput and latency. The first test will be SPECint2000, the integer component of the SPEC CPU2000 benchmark developed by the Standard Performance Evaluation Corporation. This collection of single-threaded workloads

CPU Performance

Before we evaluate the Galaxy S8’s system-level performance and battery life, we’ll run some lower-level tests to examine CPU integer and floating-point IPC and memory system throughput and latency. The first test will be SPECint2000, the integer component of the SPEC CPU2000 benchmark developed by the Standard Performance Evaluation Corporation. This collection of single-threaded workloads allows us to compare IPC for competing CPU microarchitectures. The scores below are not officially validated numbers, which requires the test to be supervised by SPEC, but we’ve done our best to choose appropriate compiler flags and to get the tests to pass internal validation.

SPECint2000 - Estimated Scores
ARMv8 / AArch64
 Exynos 8895
(Galaxy S8)
Snapdragon 835
(Galaxy S8)
Snapdragon 821
(LeEco Le Pro3)
Kirin 960
(Mate 9)
164.zip1120120712731217
175.vpr3889388916874118
176.gcc2000193017462157
181.mcf1268114612001118
186.crafty2083222216132222
197.parser1125136410591395
252.eon3333333337143421
253.perlmk1698171415131748
254.gap-186415941930
255.vortex2235190017122111
256.bzip21351137611721402
300.twolf211324198472479

The peak CPU operating frequencies for all the SoCs in the table above fall within 2% of each other, making it easier to compare IPC. It’s interesting to see how close the Exynos 8895’s M2 cores are to the Snapdragon 835’s Kryo 280 cores in integer performance. Each core separates itself in a couple tests—the S835 is faster in parser (21%) and twolf (14%) while the E8895 is faster in vortex (18%)—but generally the performance differences are less than 10%.

Both the M2 core inside E8895 and the Cortex-A73 core inside S835/K960 can dispatch 4 µops/cycle; however, there are some differences between their execution pipelines. The M1 (and from what I can tell the M2) has 2 simple ALU/INT pipes for basic operations, such as additions and shifts, and 1 complex pipe for muliplication/division. The A73 has 2 complex ALU/INT pipes. While both can handle basic operations, only one ALU handles integer multiplication and multiply-accumulate operations, while the other focuses on integer division. This means the M2 and A73 can both perform 2 basic operations in parallel but cannot perform 2 of the same complex operations in parallel. The A73 can dual issue a MUL/MAC alongside a divide/add/shift, which the M2 cannot do, but the M2 can issue 2 basic operations alongside 1 complex instead of a 1/1 split for A73. Obviously, any increase in throughput resulting from these differences will be highly workload dependent.

SPECint2000 64b/32b Estimated Ratio/GHz

The chart above accounts for differences in CPU frequency by dividing the estimated SPECint2000 ratio score by CPU frequency, which makes it clear to see that, in this group of tests at least, there’s no IPC difference between Galaxy S8 models running Snapdragon 835 or Exynos 8895. We also see that there’s essentially no significant difference between Kirin 960’s A73 CPU core and Snapdragon 835’s semi-custom A73 core. Otherwise, the S835/E8895 hold a 26% IPC advantage over the previous generation Snapdragon 820/821, whose fully-custom Kryo CPU performs on par with the older ARM A57 core when running integer workloads.

While the in-order A53 CPU works very well as a lower-power companion core, building octa-core A53 SoCs does not make much sense. The bigger cores provide a significant performance advantage over the A53 – the older A57 is almost twice as fast here while the A73/M2 offer 2.2x more IPC – yielding a better overall user experience when dealing with the short, bursty workloads common to smartphone use cases. And for those of you still using a phone with a Snapdragon 801 SoC and wondering if buying a new flagship phone would deliver a noticeable performance gain, the answer is yes. The Krait 400 CPU in S801 performs about the same as the A53 in these integer workloads.

Geekbench 4 - Integer Performance
Single Threaded
 Exynos 8895
(Galaxy S8)
Snapdragon 835
(Galaxy S8)
Snapdragon 821
(LeEco Le Pro3)
Kirin 960
(Mate 9)
AES971.2 MB/s905.4 MB/s535.8 MB/s911.6 MB/s
LZMA3.20 MB/s2.84 MB/s2.20 MB/s3.03 MB/s
JPEG17.2 Mpixels/s16.0 Mpixels/s21.7 Mpixels/s16.1 Mpixels/s
Canny29.1 Mpixels/s22.5 Mpixels/s31.2 Mpixels/s22.5 Mpixels/s
Lua1.63 MB/s1.70 MB/s1.43 MB/s1.72 MB/s
Dijkstra1.25 MTE/s1.58 MTE/s1.41 MTE/s1.53 MTE/s
SQLite42.2 Krows/s51.2 Krows/s36.5 Krows/s51.6 Krows/s
HTML5 Parse7.63 MB/s8.48 MB/s7.48 MB/s7.99 MB/s
HTML5 DOM2.50 Melems/s2.18 Melems/s0.84 Melems/s2.15 Melems/s
Histogram Equalization50.3 Mpixels/s49.9 Mpixels/s52.3 Mpixels/s48.6 Mpixels/s
PDF Rendering57.4 Mpixels/s47.2 Mpixels/s53.6 Mpixels/s44.6 Mpixels/s
LLVM231.8 functions/s250.1 functions/s164.8 functions/s260.4 functions/s
Camera6.58 images/s5.47 images/s7.17 images/s5.45 images/s

The updated Geekbench 4 workloads give us a second look at integer IPC. Once again the performance difference between the S835 and E8895 is generally between 5% to 10%, although there is a bit more variation in these tests. The E8895 pulls ahead in Canny (29%), PDF Rendering (22%), and Camera (20%), while the S835 holds the advantage in Dijkstra (26%) and SQLite (21%).

Geekbench 4 (Single Threaded) Integer Score/GHz

After accounting for differences in CPU frequency, the E8895’s M2 core shows a minimal 5% advantage over S835’s Kryo 280 core in the Geekbench integer suite. As expected, the S835 and Kirin 960 perform the same, with both showing a negligible gain relative to the previous generation SoCs with A72 CPU cores. The integer IPC gap between the S835 and S820/S821 narrows to only 11% in Geekbench 4. The S820/S821 is still no better than SoCs with the A57 core despite posting better results in many of the individual integer tests. Its poor performance in LLVM and HTML5 DOM account for its lower overall score.

We tested the IPC of the A53 core using two different SoCs; in the Snapdragon 625 the A53 performs 10% better than its counterpart in the Kirin 655, primarily because of the Snapdragon’s lower memory latency (in-order cores are particularly sensitive to latency). Both A53 examples still manage to outperform the S801 however, with a margin ranging from 13% to 24%.

Geekbench 4 - Floating Point Performance
Single Threaded
 Exynos 8895
(Galaxy S8)
Snapdragon 835
(Galaxy S8)
Snapdragon 821
(LeEco Le Pro3)
Kirin 960
(Mate 9)
SGEMM13.4 GFLOPS11.0 GFLOPS12.2 GFLOPS10.5 GFLOPS
SFFT4.02 GFLOPS2.76 GFLOPS3.26 GFLOPS2.88 GFLOPS
N-Body Physics924.5 Kpairs/s844.5 Kpairs/s1183.3 Kpairs/s832.6 Kpairs/s
Rigid Body Physics6234.9 FPS5941.6 FPS7169.6 FPS5879.2 FPS
Ray Tracing203.7 Kpixels/s220.6 Kpixels/s297.7 Kpixels/s221.8 Kpixels/s
HDR9.49 Mpixels/s8.13 Mpixels/s11.3 Mpixels/s8.10 Mpixels/s
Gaussian Blur27.2 Mpixels/s22.2 Mpixels/s48.0 Mpixels/s23.7 Mpixels/s
Speech Recognition15.3 Words/s13.2 Words/s11.5 Words/s12.8 Words/s
Face Detection583.4 Ksubs/s512.4 Ksubs/s681.4 Ksubs/s497.1 Ksubs/s

While integer IPC is essentially the same between E8895’s M2 CPU and S835’s Kryo 280, the E8895’s floating-point IPC is notably higher, surpassing the S835 in every test except Ray Tracing. Its advantage over the S835 is particularly pronounced in the SFFT (46%), SGEMM (22%), and Gaussian Blur (23%) tests. The E8895 even manages to outperform the S820/S821 at times, which still has the best overall floating-point IPC of current SoCs, taking the lead in the SGEMM, SFFT, and Speech Recognition workloads.

Geekbench 4 (Single Threaded) Floating Point Score/GHz

After taking the geometric mean of the Geekbench 4 floating-point subtest scores and dividing by CPU frequency, the E8895 holds a 17% IPC advantage over the S835. The S820/S821’s IPC is still higher than both the E8895 and S835 by 11% and 31%, respectively. The S835’s Kryo 280 CPU delivers the same floating-point performance in these workloads as the A72 and A73, with all 3 CPUs showing a minimal 3-5% advantage over the older A57. Altogether, the past 3 generations of big CPU cores only show a 35% difference in floating-point IPC in Geekbench 4.

Memory Performance

The Geekbench memory tests show some performance differences between the Galaxy S8’s two SoCs. The E8895 performs significantly better than the S835 in the Memory Copy test that uses the memcpy() routine with randomized offsets; however, the S835 delivers higher bandwidth when streaming to system memory along with a 9% lower latency figure.

Geekbench 4 - Memory Performance
Single Threaded
 Exynos 8895
(Galaxy S8)
Snapdragon 835
(Galaxy S8)
Snapdragon 821
(LeEco Le Pro3)
Kirin 960
(Mate 9)
Memory Copy6.74 GB/s4.32 GB/s8.05 GB/s4.60 GB/s
Memory Latency147.5 ns134.4 ns150.2 ns140.4 ns
Memory Bandwidth14.95 GB/s16.87 GB/s13.93 GB/s17.23 GB/s

It’s always interesting to look further back in time to see how performance has improved over several generations. In this case, the memory bandwidth test shows the biggest gains when comparing the Galaxy S8 to the Galaxy S5 (S801) and Galaxy S6 (E7420), where the older SoCs can only muster 6.95GB/s and 7.51GB/s, respectively, compared to at least 14.95GB/s for the S8 (E8895). The gains in the Memory Copy test are not as dramatic, with the Snapdragon version of the S8 (4.32GB/s) showing a small improvement over the S5 (3.98GB/s) and S6 (3.35GB/s). The transition from LPDDR3 to higher-frequency LPDDR4 DRAM along the way certainly helped boost performance, as did improvements in CPU microarchitecture (the AGUs in particular).

The S835’s Kryo 280 CPU comes with twice the L1 cache as the E8895’s M2 CPU, 64KB versus 32KB, respectively. The Kryo 280’s L1 latency remains steady at 1.28ns, the same as the A73 core in the Kirin 960, which is about 26% better than the M2’s 1.74ns latency figure. The S835 extends this same latency advantage to the L2 cache as well. The S835’s latency advantage over the E8895 shrinks to 9%, nearly matching the Geekbench 4 result, when accessing main memory at the upper limit of our own internal test.

Overall, the E8895’s M2 CPU core holds a small IPC advantage over the S835’s Kryo 280 core in floating-point workloads, but the two cores are pretty evenly matched when working with integers. There are a few specific workloads where each microarchitecture shines, but the theoretical performance difference between the Galaxy S8’s two SoC choices is not as large as expected.

ncG1vNJzZmivp6x7orrAp5utnZOde6S7zGiqoaenZH5ygZNpZqyZnajCr7OMoJilmaiuerSEjJ6vsqafqHq3sdGsrKxlo6OusbDRmp6opl9n

 Share!