If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

GMO/AWFY regressions: ~25% Octane-Splay on Oct 10




JavaScript Engine: JIT
4 years ago
4 years ago


(Reporter: sunfish, Assigned: sunfish)



Firefox Tracking Flags

(Not tracked)




4 years ago
As seen in this graph:


There was a regression after the fix for bug 925088. There was another unrelated regression on top of it, which is now fixed, but the performance is still not back to the original level.

I have not yet been able to reproduce the slowdown myself yet. My guess is that by making the code smaller, it is pushing branches in the branch-heavy visitTestVAndBranch sequence closer together and tripping some limit in the hardware branch predictor. Among other things, that would explain why this regression isn't observed in the GGC build or under other seemingly unrelated configuration options.

If so, perhaps this can be fixed by some strategic code alignment.
Graph.mozilla.org gives the following regression range which is also matching x86-64 Splay regression on AWFY:

Thanks for filing this bug.
Summary: Octane regression of 2% on x86-32 → GMO/AWFY regressions: ~25% Octane-Splay on Oct 10

Comment 2

4 years ago
I am still unable to reproduce the performance regression locally.

AWFY has been bouncing around a lot on splay, but graphs.mozilla.org data pretty clearly shows that the regression persists. I'll start reverting patches soon.

Comment 3

4 years ago
micro-test-string-truthy.patch is the patch identified by the above graph.mozilla.org chart. Reverted here:

Comment 4

4 years ago
That had no effect.

micro-fold-branchTest32.patch is the next patch in the set. Reverted here:

Comment 5

4 years ago
I made an error in resolving a merge conflict for that revert, and the revert was reverted (see bug 925088).

Error fixed and revert redone here:

Comment 6

4 years ago
That had no effect either.

Assuming the patch range above is right, the only patch remaining is 37ca290c9256. That patch just adds "static" keywords to things in .cpp files which aren't used from other files. If anyone wants, I'm willing to revert this too.
Hannes, do you know if this is still a problem?
Flags: needinfo?(hv1989)
So from what I see the regression on AWFY is fixed. Though the regression on graphs.mozilla.org persists. Now I'm not really a fan of octane-splay as a benchmark. I've seen too many improvements on code deteriorate the score.

I'm not sure if it is really worth to dive into octane-splay and spend some hours to try to reproduce and hope it's the same issue as on graphs.mozilla.org. Looking at the regression range and Dan backing out all patches, except for a trivial change, don't think there is actuall something we can do for this?
Flags: needinfo?(hv1989)

Comment 9

4 years ago
In that case, closing.
Last Resolved: 4 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.