garbage: used a fixed copy of the net/http source
Currently garbage parses whatever source is in $GOROOT/src/net/http,
but this means that the expected performance of the benchmark changes
over time as net/http changes. Indeed, net/http has nearly doubled in
size between Go 1.5 and current master, and this can be seen in the
performance of the benchmark:
Build version
net/http go1.5.2 ab74f59
go1.5.2 10.8 ms/op 10.1 ms/op
ab74f59 19.9 ms/op 18.5 ms/op
If you compare garbage built at go1.5.2, running with a go1.5.2 source
tree against garbage built at ab74f59, running with an ab74f59 source
tree, it will appear that the benchmark has slowed down by 71%. But,
in fact, if you hold the source tree constant, it has sped up by 7%.
Fix this by bundling a static snapshot of net/http, taken at git tag
go1.5.2, in to the garbage benchmark and parsing that instead of
whatever's in GOROOT.
Change-Id: If86b67f37ca33d275d4bb7168ee8cc5f5227ee6f
Reviewed-on: https://go-review.googlesource.com/18061
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2 files changed