Closed Bug 1326344 Opened 7 years ago Closed 5 years ago

[Perf][Gslide] 48.37%(6683 ms) slower than Chrome when creating one slide for 5 pages slide on GSlide

Categories

(Firefox :: General, defect)

53 Branch
x86
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED INACTIVE
Performance Impact none
Tracking Status
firefox53 --- affected

People

(Reporter: sho, Unassigned)

References

Details

(Keywords: perf)

User Story

Gecko Profiler
https://cleopatra.io/#report=e4c1cb7300ac9679409d4c9521fbfe4d48663a36
https://cleopatra.io/#report=b1756033c523c8651a0ee463afd78b9c6b42a3f9

Timing of Firefox (attached in bugzilla)
https://drive.google.com/file/d/0BwkEhia_D6l_OER3ODRFUlN3Sjg/view?usp=sharing

Trace of Chrome
https://drive.google.com/file/d/0BwkEhia_D6l_ZVhpUy1UaWZJWDA/view?usp=sharing

Attachments

(1 file)

# Test Case
STR
1. Open the browser
2. Open the specified Gslide document (https://goo.gl/R4XkAc)
3. Wait for loading finished
4. Press "End" Key to the end page
5. Press "Enter" to create a new slide

# Hardware
OS: Windows 7
CPU: i7-3770 3.4GMhz
Memory: 16GB Ram
Hard Drive: 1TB SATA HDD
Graphics: GK107 [GeForce GT 640]/ GF108 [GeForce GT 440/630]

# Browsers
Firefox version: 49.01
Chrome version: 55.0.2883.87

# Result
Browser | Run time (median value) 
Firefox | 13817 ms
Chrome  | 7133 ms
OS: Unspecified → Windows 7
Hardware: Unspecified → x86
Depends on: 1315220
Sorry, correct the Firefox version:  53.0a1
See Also: → 1215220
User Story: (updated)
User Story: (updated)
User Story: (updated)
Depends on: 1317322
I looked at this in my CacheIR Analyzer, but with results that are skewed towards baseline.

SetProp:
- We seem to be missing some AddSlot ICs, I hope bug 1091978 will fix those.
- cssText fails, we need a Proxy/DOMProxy IC here
- Function.prototype is also relatively high, I think in theory we could special case this and always allow the assignment, because the resolving of Function.prototype should not be observable.

GetProp:
- We are doing incredibly well here. I only see about 800 single instance of Function.prototype, so attaching an IC would not help there. There is one place where we fail Function.prototype 19 times, so we either ran into the Ion disable limit or more likely this really only happened 19 times

GetElem:
- ~2300 Objects with an index of type string "14336023" or "8192020", so probably sparse array there. Or just doing a normal native shape check?
- ~2300 Object with an index of type |null|, no joke, probably some kind of bug? It would probably be easy to optimize some of the constant like null|undefined|true|false
- 800? Array with index -1 .... lol
- 200? Array with |undefined| ...
- various other cases which look like valid indices
Good news: Bug 1091978 indeed fixes thos AddSlot failures!
Now the biggest failures for SetProp are CSS2Properties.cssText, SVG{Image, ..}Element.J (?) and Function.prototype.
Depends on: 1336579, 1336580
[qf:-] as work happens in other bugs
Whiteboard: [qf:-]
Keywords: perf
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → INACTIVE
Performance Impact: --- → -
Whiteboard: [qf:-]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: