Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
x/build: record and collect compiler benchmarks #17167
Recently we added a -bench flag to cmd/compile to benchmark compiler phases. It might be interesting if the builders used this flag and then persisted the output file so we could monitor compiler performance over time.
There's a risk that measuring the standard library compile time is confounded with changes to the standard library, but I think only a couple packages (runtime, net, net/http) still seem under active development. So it's probably still a decent signal.
You can use -bench=foo.txt and the compiler will append to foo.txt, so the entire build can be accumulated into a single file. The individual measurements indicate the package being compiled.
I would probably tweak all.bash so that the "go install std cmd" step adds -gcflags="-bench=/tmp/bench.txt" on the builders, and then save /tmp/bench.txt somewhere we can easily collect and analyze.
I think benchmarking the Go1 benchmarks' compile times would be nice too, since they're a fixed target.
On Wed, Sep 21, 2016 at 4:19 AM, Matthew Dempsky firstname.lastname@example.org