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
go/build: regression of performance for go-benchmark(build) #31533
Comments
@Jiebin thank you for your report. Before we can investigate you need to compete your error report by providing us with detailed information about what you did, what you saw, and what you expected to see. These steps need to be reproducible by someone else for us to investigate. Thank you |
@davecheney Thanks. And I have provided the info above. Please tell me if you need other info. |
What is |
Go-benchmark is a benchmark. "Build" is an indicator for that benchmark. You can get it from the official website or run it from Phoronix.com. |
@jiebinn please understand that we are not in a position to reproduce the phoronix benchmark setup. You're going to have to meet us half way by writing down in this PR the steps required to reproduce the issue. |
@randall77 Here is the steps. You can replace the go-package and then run it on Ubuntu or Clear Linux.
|
Is it possible to extract the code that the phoronix benchmark is running? it will be building some source code at some revision. If you can identify which programs it builds, then we can reduce the scope of the problem to |
@davecheney Thanks. I will looking into how to run go-benchmark from the source code. |
@jiebinn thank you, that will be the best way to resolve this. Once we've confirmed if there is a regression in the build benchmarks between Go 1.11 and Go 1.12 without phoronix-test-suite, then that can be addressed first. If there is no regression then the issue may be with how phoronix-test-suite invokes go build and that will probably have to be escalated to someone on the phoronix-test-suite side. |
@davecheney I agree. I have found the regression on Ubuntu(11%) and Clear Linux(10%) by running it with phoronix-test-suite. Need to make sure if that's a problem of phoronix-test-suite. |
@davecheney Here is the steps for go-benchmark(build).
|
I don't see any regression from 1.11.2 to 1.12.2. In fact, 1.12.2 is a tad faster.
This is on linux/amd64. In any case, lots of things have changed about the build system from 1.11 to 1.12, e.g. more aggressive inlining. I wouldn't expect build times to be stable. We really care about regressions in generated code speed, but it probably isn't worth chasing down a few percent in build speed. |
Sorry, I lied. Just building
The larger binary size makes me think inlining is to blame for the extra time. |
@randall77 are we still waiting for info? Add back the label if need be. Seems like this needs investigation. |
The go-benchmark(build) of ubuntu18.10 has a same level of regression when I upgrade from go-1.11.2 to go-1.12.2.
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
I have the benchmark run on ubuntu18.10, not on Ubuntu 19.04 yet.
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
I have the run the benchmark of go-benchmark(build) on i7 machine. There is a regression when the package of go is upgraded from 11.2 to 12.2.
What did you expect to see?
No regression of performance when I upgraded from go-11.2 to go-12.2.
What did you see instead?
The performance of go-benchmark(build) for go-12.2 is 10% worse than go-11.2.
The text was updated successfully, but these errors were encountered: