Poor performance on JS frameworks benchmark

NEW
Unassigned

Status

()

defect
3 years ago
2 years ago

People

(Reporter: till, Unassigned)

Tracking

(Depends on 2 bugs, Blocks 2 bugs, {perf})

Trunk
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(platform-rel +, firefox46 affected)

Details

(Whiteboard: [qf:meta],DevAdvocacy, DevAdvocacy-React, DevAdvocacy-Angular [platform-rel-Frameworks][platform-rel-EmberJS][platform-rel-ReactJS], URL)

(Reporter)

Description

3 years ago
The benchmark at [1] compares the performance of, AIUI, sorting a random list of entries and then displaying that list. Current Nightly does quite poorly compared to both Chrome and Safari, with most time spent in JS.

Numbers for the clicking a framework's "run" button five times[2]:

React
Nightly       120ms 99ms 65ms 44ms 38ms (all numbers varying wildly)
Chrome Canary  97ms 98ms 91ms 53ms 51ms (also varying, but less wildly)
Safari 9.0.2   68ms 63ms 51ms 40ms 40ms (also varying, but less wildly)

Angular
Nightly       225ms 260ms 203ms 167ms 176ms (all numbers varying wildly)
Chrome Canary 130ms 213ms 205ms 190ms 185ms (all numbers varying wildly)
Safari 9.0.2   58ms  85ms  81ms  78ms  87ms (also varying, but less wildly)

Knockout
Nightly       358ms 367ms 367ms 303ms 334ms (all numbers varying wildly)
Chrome Canary 284ms 313ms 303ms 275ms 273ms (also varying, but less wildly)
Safari 9.0.2  164ms 202ms 187ms 196ms 192ms (also varying, but less wildly)

Raw
Nightly       20ms 65ms 71ms 69ms 75ms (all numbers varying slightly)
Chrome Canary 21ms 81ms 81ms 79ms 82ms (almost no variance)
Safari 9.0.2  13ms 60ms 65ms 62ms 64ms (almost no variance)



[1] https://chrisharrington.github.io/demos/performance/
[2] Clicking the same button five times, then reloading and testing another framework
Flags: needinfo?(jdemooij)
I'll clear the NI but this is on my TODO list and is important.
Flags: needinfo?(jdemooij)
Whiteboard: DevAdvocacy, DevAdvocacy-React, DevAdvocacy-Angular
ni? me so I don't lose this. We talked about looking into this kind of stuff all the way back in Orlando. I want to see if we can investigate this again before London.
Flags: needinfo?(efaustbmo)
Depends on: 1273481
Depends on: 1273858
Depends on: 1273862
Depends on: 1273867
Whiteboard: DevAdvocacy, DevAdvocacy-React, DevAdvocacy-Angular → DevAdvocacy, DevAdvocacy-React, DevAdvocacy-Angular [platform-rel-Facebook][platform-rel-ReactJS]
(Reporter)

Updated

3 years ago
Depends on: 1280802
See Also: → 1245279
platform-rel: --- → ?
Whiteboard: DevAdvocacy, DevAdvocacy-React, DevAdvocacy-Angular [platform-rel-Facebook][platform-rel-ReactJS] → DevAdvocacy, DevAdvocacy-React, DevAdvocacy-Angular [platform-rel-Facebook][platform-rel-ReactJS][platform-rel-Frameworks]
platform-rel: ? → ---
Whiteboard: DevAdvocacy, DevAdvocacy-React, DevAdvocacy-Angular [platform-rel-Facebook][platform-rel-ReactJS][platform-rel-Frameworks] → DevAdvocacy, DevAdvocacy-React, DevAdvocacy-Angular
platform-rel: --- → +
Whiteboard: DevAdvocacy, DevAdvocacy-React, DevAdvocacy-Angular → DevAdvocacy, DevAdvocacy-React, DevAdvocacy-Angular [platform-rel-Frameworks][platform-rel-EmberJS][platform-rel-ReactJS]

Comment 3

2 years ago
Has there been any recent work around this?  This may be something that we want to look at for Quantum Flow.
Blocks: QuantumFlow
(In reply to :Ehsan Akhgari from comment #3)
> Has there been any recent work around this?  This may be something that we
> want to look at for Quantum Flow.

I asked jandem right after our Taipei meeting, and he said that this still depends on the CacheIR work getting a little further along. Great progress is being made there, so I think we wait on that.
Flags: needinfo?(efaustbmo)
Yes, still some important bits left that I want to land first, but I should have time to profile this once that's done (few weeks from now).
Depends on: CacheIR
Whiteboard: DevAdvocacy, DevAdvocacy-React, DevAdvocacy-Angular [platform-rel-Frameworks][platform-rel-EmberJS][platform-rel-ReactJS] → [qf:meta],DevAdvocacy, DevAdvocacy-React, DevAdvocacy-Angular [platform-rel-Frameworks][platform-rel-EmberJS][platform-rel-ReactJS]
Depends on: emberperf
No longer depends on: emberperf
Keywords: perf
You need to log in before you can comment on or make changes to this bug.