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

Wait, I did not realize snapdragon 820 does about 2400 on geekbench single core putting it, in theory, within range of an iPhone 6s for single core perf! So yeah that is hugely disappointing.

The snapdragon 821 appearing in this years Nexus devices will be about 10% faster still, but then the iPhone 7 this year will likely be considerably more than 10% faster than the iPhone 6s as well…


I can tell you that the 820 doesn’t NOT feel in any way shape or form slow in Android 6.0.1 on pretty much any other app I have thrown at it.

A heavy user iPhone 6s friend was impressed after using it for an hour or two and commented how he thought Android was supposed to be difficult to use and slow, saying he thought it made the (admittedly year old) 6s feel sluggish in places.

I’m just reporting what was commented to me 3rd hand as I don’t have any recent iPhone experience and it might just be the superior multitasking handling of Android for a heavy user, who knows. But the Javascript on Android is still a crushing disappointment.

However, given the relatively strong showing of both the Snapdragon 820 and Samsung’s Exynos 8890 in pretty much every other metric, I’m starting to think it’s Google and Chrome holding back Javascript on Android more than the hardware now. Obviously Apple’s hardware is still superior and probably will remain so for the foreseeable future due to complete vertical integration, but from other metrics it shouldn’t be THIS much better.


Some of it was definitely Chrome optimization. Compare December 2015 early test 820 benches…

With the final Samsung s7 release on Chrome 4 months later:

Clearly much faster and anandtech said Qualcomm specifically cautioned them about this Chrome optimization issue in Dec 2015.


I’ve ended up reading this thread before while wondering why my phone (Galaxy s4) sometimes takes a while to browse on Discourse. I’ve tried some different browsers and that has produced good results (Puffin specifically being surprisingly fast compared to the default browser I had been using).

I’m upgrading to a new phone soon and was poking through benchmarks to see which ones might perform best with Discourse. It’s not a particularly big deal, but it’s the most important QoL feature for me. I’m not sure if this is the right place to ask (I couldn’t find any more relevant threads), but given the improvements made to Discourse on this front I wanted to ask if anyone had any new data on which phones generally would perform best when browsing Discourse? What phone specifications tend to make browsing a better experience?


There are two things to look at

  1. Geekbench single core perf

  2. General JS perf on the dominant browser on the platform

Unfortunately Android is in the doghouse on both at the moment, still, even in 2016. If you want to have a good cry, compare those numbers for iPhone 7, hell even the year old iPhone 6s, and literally anything in Android world. :sob:

The only real good news is Discourse 1.5 switched to vdom rendering on core pages, which was a solid 5x perf increase on Android, and Ember 2.10 looks 2x faster on Android, and we think we will be able to get to that version of Ember in this current 1.7 beta, and thus in the 1.7 release later this year.


In mid-2017, Chrome has finally gotten their act together on Javascript – benchmarks shown below are on a Nexus 6p:

Read the official Google followup as well … all of this went into the Turbofan and Ignition release in Chrome 59.

Combined with the snapdragon 835 we’re finally entering obama-not-bad.gif territory, where a recent Android device (90ms) is at least in the ballpark of an iPhone 6s (60-70ms) when on Chrome latest, currently 59:


Out of interest, which SD 835 device is that from?

My SD 820-based Android 7.1.1 OP3 is only pulling 200/180ms in Chrome 59/Canary 60 on the ember benchmarks and 24.2 on Speedometer, which is even slower than the SD 810-based Nexus 6p.

This isn’t a clean device, but I did clear out all running apps and reboot before running, and got rid of all but 8 tabs in Chrome.

It was a oneplus 5, which I no longer have, I bought it as an off to college gift for my nephew.

1 Like

Impressively, I just tested @zogstrip’s Nexus 6p on, 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.


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.


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.


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




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.


Just had this reply:

EDIT: Additional update:

EDIT #2: Additional update:


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:

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.


UPDATE: Reply from Benedikt


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.