The State of JavaScript on Android in 2015 is... poor

Impressively, I just tested @zogstrip’s Nexus 6p on emberperf.eviltrout.com, render complex list, 2.11 and I got ~150ms. That’s quite good.

Chrome 55 212 ms
Chrome 58 175 ms
Chrome 61 150ms

That puts it in iPhone 6 territory, which is about where it should be based on the CPU, and I would rate it as solidly “good”. The Nexus 6p is not exactly a new device… we’ll see where Snapdragon 845 takes us. Current rumors say:

The Snapdragon 845 scores 2600+ in GeekBench 4, for single core results.

That’s about 10% faster than iPhone 6s.

11 个赞

For those that are not familiar with why Apple devices show higher performance and why Android device manufacturers appear to be playing catch-up here is a nice video with a little bit of history:


For point of reference I ran some of the benchmarks on my OnePlus 2 (ONE A2003) an August 2015 Qualcomm Snapdragon 810 phone - the same processor as the Nexus 6P mentioned above.
This was a new phone when this thread was started back in 2015, now updated the phone running on a custom Lineage OS build (Android 7.1.2). In a months time a replacement phone will come and I’ll reset the device to whatever the latest manufacturer OS is and run these numbers again.

Browser version “render complex list”, 2.11 Speedometer
Chrome 61 (Stable) 152.27ms 27.2 (±2.4)
Chrome 62 (Beta) 179.04ms 25.4 (±1.4)
Chrome 63 (Canary) 190.00ms 23.7 (±1.7)

Allowing the phone to “cool” between benchmark runs - these are pretty repeatable numbers.

Hopefully this doesn’t indicate that Chrome is slipping backwards any when Chrome 63 finally reaches the general public.

4 个赞

Canary isn’t a good test candidate. Try beta. Canary is too variable. Also you don’t need both runs, the HTML and regular are pretty much the same these days.

3 个赞

I’ve updated the post above to include the Chrome Beta numbers too.

Well that is concerning. I am not on Twitter any more but you might try pinging Benedikt with a link to your post https://twitter.com/bmeurer

5 个赞

Done:

5 个赞

I wanted to check if this repeatable cross another device…

Trying it on a slightly older (from the factory, OEM updates only) “OnePlus One” (A0001) - Qualcomm Snapdragon 801 - Cyanogen OS 13.1.2 - Android 6.0.1 phone - released April 2014.

Browser version “render complex list”, 2.11 Speedometer
Chrome 61 (Stable) 329.27ms 15.70
Chrome 62 (Beta) 435.83ms 14.59
Chrome 63 (Canary) 451.24ms 15.10

Again allowing it to “cool” between runs.

3 个赞

Just had this reply:

EDIT: Additional update:

EDIT #2: Additional update:

11 个赞

I re-ran all the benchmarks…

OnePlus 2 (ONE A2003):

Browser version “render complex list”, 2.11 Speedometer
Chrome 61 (Stable) 147.74ms 26.10 (± 2.50)
Chrome 62 (Beta) 165.26ms 24.80 (± 2.00)
Chrome 64 (Canary) 118.85ms 27.90 (± 0.48)

OnePlus One (A2001):

Browser version “render complex list”, 2.11 Speedometer
Chrome 61 (Stable) 333.12ms 15.82 (± 0.086)
Chrome 62 (Beta) 421.10ms 14.59 (± 0.060)
Chrome 64 (Canary) 285.00ms 16.00 (± 0.084)

Note the following for the latest Chrome 64 (Canary):

  • “render complex list” times going down - yay! :allthethings:
  • “Speedometer” numbers going up - yay! :allthethings:
11 个赞

Very nice results!! All kudos to Benedikt. Be sure to link him to your results via Twitter; I can’t as I am no longer on Twitter.

4 个赞

UPDATE: Reply from Benedikt

6 个赞

Good news! In the last year things have gotten a lot better!

Snapdragon 835, Android / Chrome circa June 2017

Snapdragon 845, Android / Chrome circa June 2018

Note this is Speedometer 1.0 to keep the comparison apples to apples. Between the respectable hardware bump (finally) and major Chrome/Android JS improvements, we’re looking at 2x improvement. Vastly overdue… but I’ll take it!

This is finally iPhone 6s territory which I’d call certainly fast enough for native Discourse performance.

18 个赞

Using the newer more accurate (but lower) Speedometer 2.0 numbers here:

OnePlus 5 — Snapdragon 835 — 33.1
OnePlus 6 — Snapdragon 845 — 49.4
Xiaomi 9 — Snapdragon 855 — 68.5

These are of course quite far from iOS hardware numbers, kind of vaguely iPhone 7-ish. For comparison this iPad Pro gets 137.5 and the iPhone 11 gets around 150.

9 个赞

For comparison indicating that not all Snapdragon 835’s are the same:

Google Pixel 2 XL — Snapdragon 835 — 24.6

Updated to Android 10, full charge, plugged into mains after clean restart and waiting 5 minutes (so the phone isn’t busy starting).

The phone was originally released 23 months ago (Oct. 2017) and discontinued less than 6 months ago (April 2019).

5 个赞

Mine was tested months ago, closer to the time the hardware was originally made available. Ditto for the other model. The Xiaomi was tested yesterday :wink:

3 个赞

LG ThinQ G7 — Snapdragon 845 — 52.6
Chrome 77.0 Android 9, Speedometer 2

让我们以精彩的方式结束这个话题

骁龙 865 在此处的得分约为 80-85,相比之下..

14 个赞

不过,我在桌面版 Edge Canary 上看到了显著的改进。i5-8265U 在稳定版 Chrome v80 上分数限制在 75-85 之间,而现在在 v84 上达到了 110(提升了 30%)。

这似乎主要是因为它减少了工作量,因为 Intel Power Gadget 并未显示出“CPU 利用率”有显著差异(我推测这是指执行单元可以退休的指令数量)。

不确定这如何适用于 ARM 架构。希望能如愿。

3 个赞

桌面端其实不是问题,我们拥有巨大的性能提升空间。不过,由于高通 SoC 的弱点,Android 端的性能提升是巨大的!你在 Android 上观察到任何 Canary 版本的改进吗?:thinking:

老实说,iPhone 7(骁龙 855)和 iPhone 8/X(骁龙 865)在 Android 端的性能表现并不算差。从 Discourse 的角度来看,这绝对是“够用”的。虽然不会让你惊艳,但完全胜任。

3 个赞

我的 Meta PWA 已经运行在 64 位模式下了 :tada:

12 个赞