-
Notifications
You must be signed in to change notification settings - Fork 17.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
runtime: stack copying performance regressions #28678
Comments
That's surprising. You don't happen to have a bisect handy, do you? (If not, I can run one.) |
I was planning to bisect tomorrow; laptop otherwise occupied today. Go for it. |
Bisect started cd runtime && mkdir -p issue-28678 && pl benchmany -d issue-28678 -order metric -benchflags '-test.run NONE -test.bench StackCopy$' go1.11..master |
Unsurprisingly, this was cbafcc5 "cmd/compile,runtime: implement stack objects":
/cc @randall77 |
I'm not seeing the difference reported here. Tip seems faster than 1.11.2.
It would be strange for these benchmarks to be affected by the extra stack object code. None of them has a stack object, so the additional cost is just another GC stack scanning might be more expensive for |
Tip is faster than 1.11 because https://go-review.googlesource.com/c/go/+/110564 went in, which offset the other slowdown. Maybe that’s fine? Might still be worth a quick look before/after stack objects to make sure there’s no low hanging fruit. |
Given the offset, removing release-blocker. This needs more investigation. |
Are we still concerned about this regression? |
Hello @josharian, I am doing a bit of issue gardening and wondering if we can punt this to Go1.13 and we can do investigations there. What do you think? |
Punt. |
Roger that, thanks @josharian! |
I think given the performance offset and that there haven't been any clear problems with this during 1.12, I'm no longer worried about the underlying regression. I'm going to go ahead and close, but feel free to re-open. |
The runtime stack copying benchmarks have regressed significantly since Go 1.11.
A very quick benchmark run shows:
cc @aclements
The text was updated successfully, but these errors were encountered: