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

より正確(ただし数値は低め)な新しい Speedometer 2.0 の数値を用いて記載します:

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

これらはもちろん iOS ハードウェアの数値とは大きく異なり、概ね iPhone 7 程度です。比較のため、この iPad Pro は 137.5、iPhone 11 は約 150 を記録しています。

「いいね!」 9

比較のため、Snapdragon 835 がすべて同じではないことを示します:

Google Pixel 2 XL — Snapdragon 835 — 24.6

Android 10 に更新し、フル充電状態で、クリーンな再起動後に電源に接続し、5 分間待機しました(電話が起動処理で忙しい状態ではないようにするため)。

この電話は当初 23 ヶ月前(2017 年 10 月)に発売され、6 ヶ月未満前(2019 年 4 月)に販売終了となりました。

「いいね!」 5

私の製品は数ヶ月前、ハードウェアが最初にリリースされた時期に近い時点でテストされました。他のモデルも同様です。Xiaomi は昨日テストされました :wink:

「いいね!」 3

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

これで派手に締めくくります

Snapdragon 865 はこちらで 80〜85 程度 のスコアですが、これと比較すると..

「いいね!」 14

ただし、デスクトップ版のEdge Canaryでは大幅な改善が見られました。安定版Chrome v80では75〜85に制限されていたi5-8265Uが、v84では110を記録しています(+30%)。

主な要因は処理負荷の軽減のようです。Intel Power Gadgetでは「CPU Util%」に劇的な変化は見られませんでした(実行ユニットによって完了できる命令数についての推測です)。

これがARMにどう影響するかは不明ですが、期待しています。

「いいね!」 3

デスクトップは実際には問題ではなく、パフォーマンスの向上は非常に大きいです。しかし、Qualcomm SoC の弱点により、Android への改善は驚異的です。Android で Canary の改善が見られますか?:thinking:

正直に言うと、iPhone 7 (855) および iPhone 8 / X のパフォーマンス (865) は、Android 側ではそれほど悪くありません。Discourse の観点からすれば、確かに「十分」です。圧倒するわけではありませんが、完全に有能です。

「いいね!」 3

私の Meta PWA はすでに 64 ビットで動作しています🎉

「いいね!」 12