15.35 - 9.97% perf_reftest_singletons external-string-pass.html / perf_reftest_singletons external-string-pass.html (OSX) regression on Thu May 9 2024
Categories
(Core :: String, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr115 | --- | unaffected |
| firefox126 | --- | unaffected |
| firefox127 | --- | wontfix |
| firefox128 | --- | fix-optional |
People
(Reporter: aglavic, Unassigned)
References
(Regression)
Details
(4 keywords)
Perfherder has detected a talos performance regression from push 0adcd161c68ab1a6e1dd1e851c446bfbc1fa9c2a. 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) |
|---|---|---|---|---|
| 15% | perf_reftest_singletons external-string-pass.html | macosx1015-64-shippable-qr | e10s fission stylo webrender | 659.98 -> 761.28 |
| 10% | perf_reftest_singletons external-string-pass.html | macosx1015-64-shippable-qr | e10s fission stylo webrender | 658.65 -> 724.35 |
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 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.
You can run these tests on try with ./mach try perf --alert 211
For more information on performance sheriffing please see our FAQ.
Comment 1•1 year ago
|
||
Set release status flags based on info from the regressing bug 1893683
Comment 2•1 year ago
|
||
I'm a bit confused, what's the difference between the first and the second table entry? It seems the same test in the same platform?
In any case this doesn't seem like a too concerning regression, the profile doesn't show extra string copies, it's just a code generation regression effectively. My guess is that nsTSubString::Assign is not getting inline where it was before or something, will give something like that a shot.
Comment 3•1 year ago
|
||
Tried to trigger some profiling jobs here to confirm that hypothesis: https://treeherder.mozilla.org/jobs?repo=autoland&revision=63503ccafb0395402807ed1da634fa38b3e626ce&selectedJob=457601235&group_state=expanded
Comment 4•1 year ago
|
||
So I also tried some local profiling on an intel mac, but there are no symbols under set DataTransfer.dropEffect which is the interesting stuff. Markus, do you know what might be going on there? See https://share.firefox.dev/3UM9CQs
Comment 5•1 year ago
|
||
https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&revision=63503ccafb0395402807ed1da634fa38b3e626ce&searchStr=profiling should be the profiling jobs (not finished yet)
Comment 6•1 year ago
|
||
There are also no symbols in the profiles above for the interesting part of the profile, wtf? https://share.firefox.dev/4bnurJ8
Nazim, any idea about what might be going on?
Comment 7•1 year ago
|
||
FWIW the "intel mac not showing anything under the set DataTransfer ... marker happens on release. It's like inline symbols are not there, which are on the arm mac...
In any case I was able to confirm that no string copy was introduced by my patch, so it's probably a codegen difference somehow, and given it only affects intel mac I think it's probably not a big deal...
Comment 8•1 year ago
|
||
A try trying to inline Assign(StringBuffer):
You'll be able to find a performance comparison here once the tests are complete (ensure you select the right framework): https://treeherder.mozilla.org/perfherder/compare?originalProject=try&originalRevision=63f02a17fab2cf51723bc45088c76a5ecde37af9&newProject=try&newRevision=27ba5b2ad99b0e7dc5af443ee21f0f227f9a7589
*******************************************************
* 2 commits/try-runs are created... *
*******************************************************
Base revision's try run: https://treeherder.mozilla.org/jobs?repo=try&revision=63f02a17fab2cf51723bc45088c76a5ecde37af9
Local revision's try run: https://treeherder.mozilla.org/jobs?repo=try&revision=27ba5b2ad99b0e7dc5af443ee21f0f227f9a7589
But given I don't see anything in the interesting bits of the profile seems likely it was getting inlined anyways.
Comment 9•1 year ago
|
||
Ideally I'd be able to see the disassembly of that set datatransfer stuff but I don't see how immediately since there's no non-inline frame until the gecko marker?
| Reporter | ||
Comment 10•1 year ago
|
||
(In reply to Emilio Cobos Álvarez (:emilio) from comment #2)
I'm a bit confused, what's the difference between the first and the second table entry? It seems the same test in the same platform?
In any case this doesn't seem like a too concerning regression, the profile doesn't show extra string copies, it's just a code generation regression effectively. My guess is that nsTSubString::Assign is not getting inline where it was before or something, will give something like that a shot.
The first and second entry are duplicates created by perfherder graphs view, it's a bug and I've usually noticed and removed them, but I forgot to this time, my apologies for the confusion.
Comment 11•1 year ago
•
|
||
(In reply to Emilio Cobos Álvarez (:emilio) from comment #4)
there are no symbols under
set DataTransfer.dropEffectwhich is the interesting stuff. Markus, do you know what might be going on there? See https://share.firefox.dev/3UM9CQs
Huh, this is indeed quite weird. I wonder if a useful stack address is being removed by this heuristic which is supposed to elide some hex address frames for JIT frames. Do you have an Intel Mac that you could use to get profiles locally?
Comment 12•1 year ago
|
||
I do, they have the same issues (comment 4)
Oops sorry to answer your ni very late. I was on PTO. It looks like Markus has some ideas about it. It might be good to check that. I can spend some to time look into it today or tomorrow.
Updated•1 year ago
|
Updated•1 year ago
|
Comment 14•1 year ago
|
||
The severity field is not set for this bug.
:nika, could you have a look please?
For more information, please visit BugBot documentation.
Comment 15•1 year ago
|
||
Based on comment 2, it sounds like this isn't too concerning.
Description
•