Use an concurrency-limiting semaphore to reduce I/O parallelism in Import. Also, start the producer in a new goroutine so that it runs in parallel with the consumer. Paradoxically, this reduces the peak number of goroutines. Also, in buildutil.ForEachPackage, make the concurrency limiting semaphore global, since I/O parallelism is a process-wide resource. Change-Id: I282b717c50603361826e5675077c9f464c874132 Reviewed-on: https://go-review.googlesource.com/18215 Reviewed-by: Michael Matloob <matloob@golang.org> |
||
|---|---|---|
| benchmark/parse | ||
| blog | ||
| cmd | ||
| container/intsets | ||
| cover | ||
| go | ||
| godoc | ||
| imports | ||
| oracle | ||
| playground | ||
| present | ||
| refactor | ||
| .gitattributes | ||
| .gitignore | ||
| AUTHORS | ||
| CONTRIBUTING.md | ||
| CONTRIBUTORS | ||
| LICENSE | ||
| PATENTS | ||
| README | ||
| codereview.cfg | ||
README
This subrepository holds the source for various packages and tools that support the Go programming language. Some of the tools, godoc and vet for example, are included in binary Go distributions. Others, including the Go oracle and the test coverage tool, can be fetched with "go get". Packages include a type-checker for Go and an implementation of the Static Single Assignment form (SSA) representation for Go programs. To submit changes to this repository, see http://golang.org/doc/contribute.html.