mirror of
https://github.com/golang/go
synced 2024-11-18 17:54:57 -07:00
d4c6246f3e
This change parallelizes the outer loop in globalReferrersPkgLevel, which loops over packages to inspect. There is also an easily parallelizable inner loop. However, parallelizing it adds complication (deffiles needs a mutex, inQueryPackage requires a wait group) and offers only a 2% speed-up. Benchmarks for this change, looking for encoding/json.MarshalIndent: name old time/op new time/op delta Referrers 5.31s ± 2% 4.67s ± 3% -11.95% (p=0.000 n=10+10) name old user-time/op new user-time/op delta Referrers 15.9s ± 2% 16.5s ± 3% +3.71% (p=0.000 n=10+10) name old sys-time/op new sys-time/op delta Referrers 15.7s ± 3% 16.1s ± 3% +2.73% (p=0.011 n=10+10) Fixes golang/go#24272 Updates golang/go#25017 This work supported by Sourcegraph. Change-Id: I5dcda9017103cdff59d0ffdf5e87d2c2c955a33a Reviewed-on: https://go-review.googlesource.com/108878 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alan Donovan <adonovan@google.com> |
||
---|---|---|
.. | ||
serial | ||
testdata/src | ||
callees.go | ||
callers.go | ||
callstack.go | ||
definition.go | ||
describe.go | ||
freevars.go | ||
guru_test.go | ||
guru.go | ||
implements.go | ||
isAlias18.go | ||
isAlias19.go | ||
main.go | ||
peers.go | ||
pointsto.go | ||
pos.go | ||
referrers.go | ||
unit_test.go | ||
what.go | ||
whicherrs.go |