Closed Bug 1403545 Opened 2 years ago Closed 2 years ago

10.29 - 163.58% Strings PerfIsASCIIHundred / Stylo Servo_DeclarationBlock_GetPropertyById_Bench (linux32, osx-10-10, windows10-64, windows7-32) regression on push ac60233276ed (Tue Sep 26 2017)


(Core :: CSS Parsing and Computation, defect)

Not set



Tracking Status
firefox-esr52 --- unaffected
firefox55 --- unaffected
firefox56 --- unaffected
firefox57 --- unaffected
firefox58 --- fixed


(Reporter: igoldan, Assigned: Nika)



(Keywords: perf, regression)


(1 file)

We have detected a platform microbenchmarks regression from push:

As author of one of the patches included in that push, we need your help to address this regression.


164%  Stylo Servo_DeclarationBlock_GetPropertyById_Bench linux32 opt      243,843.29 -> 642,725.30
161%  Stylo Servo_DeclarationBlock_GetPropertyById_Bench windows7-32 opt  224,732.54 -> 586,337.10
144%  Stylo Servo_DeclarationBlock_GetPropertyById_Bench windows10-64 opt 184,395.42 -> 449,097.60
130%  Stylo Servo_DeclarationBlock_GetPropertyById_Bench osx-10-10 opt    199,551.58 -> 457,979.75

You can find links to graphs and comparison views for each of the above tests at:

On the page above you can see an alert for each affected platform as well as a link to a graph showing the history of scores for this test. There is also a link to a treeherder page showing the jobs in a pushlog format.

To learn more about the regressing test(s), please see:
Component: Untriaged → CSS Parsing and Computation
Product: Firefox → Core
Michael, I see you are the owner of the servo merge from
Can we resolve these regressions? Or should we accept/backout them?
Flags: needinfo?(michael)
I missed converting these locations when I made the previous patch, which caused an extra allocation to occur whenever using fmt::Write.

This should fix that issue.

MozReview-Commit-ID: 38WZKDU1cLg
Attachment #8912797 - Flags: review?(nfroyd)
Attachment #8912797 - Flags: review?(nfroyd) → review+
Assignee: nobody → michael
Flags: needinfo?(michael)
Pushed by
Stop allocating in fmt::Write for nsA[C]String, r=froydnj
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
I confirm the fix resolved the regressions:

== Change summary for alert #9704 (as of September 27 2017 19:19 UTC) ==


 66%  Stylo Servo_DeclarationBlock_GetPropertyById_Bench linux32 opt      647,356.50 -> 219,750.67
 62%  Stylo Servo_DeclarationBlock_GetPropertyById_Bench windows7-32 opt  585,077.29 -> 225,259.44
 60%  Stylo Servo_DeclarationBlock_GetPropertyById_Bench linux64 opt      470,252.83 -> 188,702.18
 59%  Stylo Servo_DeclarationBlock_GetPropertyById_Bench windows10-64 opt 445,805.33 -> 184,229.44
 55%  Stylo Servo_DeclarationBlock_GetPropertyById_Bench osx-10-10 opt    456,356.33 -> 203,380.33

For up to date results, see:
You need to log in before you can comment on or make changes to this bug.