16.59% perf_reftest_singletons id-getter-1.html (Windows) regression on Fri August 26 2022
Categories
(Core :: JavaScript Engine, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr91 | --- | unaffected |
firefox-esr102 | --- | unaffected |
firefox104 | --- | unaffected |
firefox105 | --- | unaffected |
firefox106 | --- | wontfix |
firefox107 | --- | wontfix |
People
(Reporter: alexandrui, Unassigned)
References
(Depends on 1 open bug, Blocks 1 open bug, Regression)
Details
(4 keywords)
Attachments
(1 file)
Perfherder has detected a talos performance regression from push a2664bf7445fdaf1365f4cd53655318646006a46. As author of one of the patches included in that push, we need your help to address this regression.
Regressions:
Ratio | Test | Platform | Options | Absolute values (old vs new) |
---|---|---|---|---|
17% | perf_reftest_singletons id-getter-1.html | windows10-64-shippable-qr | e10s fission stylo webrender | 351.82 -> 410.18 |
Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests. Please follow our guide to handling regression bugs and let us know your plans within 3 business days, or the offending patch(es) may be backed out in accordance with our regression policy.
If you need the profiling jobs you can trigger them yourself from treeherder job view or ask a sheriff to do that for you.
For more information on performance sheriffing please see our FAQ.
Comment 1•2 years ago
|
||
Set release status flags based on info from the regressing bug 1785942
Updated•2 years ago
|
Comment 2•2 years ago
|
||
This was unexpected. It could be the result of an inlining difference or something. I will look into it.
Comment 3•2 years ago
|
||
Comment 4•2 years ago
|
||
This appears to be the result of the final of the 8 patches. It's the one that switched all of the JSStrings over to placement new.
I'll try to break it down further.
Comment 5•2 years ago
|
||
I fully expected that I had botched something in the new atom allocation path, since that's by far the biggest set of changes, but that turns out to be performance neutral. There are 3 categories of strings whose allocation is affected: atoms, inline strings, and all other strings. Only the inline strings make a difference. And it seems to be Windows-only, more or less. (The alert has one result for OSX, but looking at the graph, it's hard to tell if it's real.) It also only shows up on the one set of related tests.
I looked at the generated code on Linux, and they're doing pretty much the same thing. (I was worried I might be double-initializing or something.) But Linux doesn't show a perf difference, so it could somehow be a Windows-specific compilation difference???
Sprinkling around more MOZ_ALWAYS_INLINE didn't help.
Comment 6•2 years ago
|
||
:sfink any updates on your investigation from comment 5?
Updated•2 years ago
|
Comment 7•2 years ago
|
||
Too late for 107.
Leaving 108 clear, unless there's a follow-up planned?
Comment 8•2 years ago
|
||
Looking at the current graph, these tests are a bit unstable. They are bimodal, but the mode is persistent for long stretches. The current perfherder graph shows it dipping back to the faster speed twice since this patch landed. It is feeling unlikely to me that tweaking my patches until it falls back down to the faster mode is going to help anything; something else will pop it back up eventually.
It could be worth digging into why this is happening, but I would rather not do the digging myself.
To be clear, I'm not saying this is an invalid test result. It seems that the Windows executions of these tests really did get slower. I filed bug 1797845 for the instability.
I'm going to mark this WONTFIX, but I'm happy to have someone argue otherwise.
Description
•