1
0
mirror of https://github.com/golang/go synced 2024-11-18 18:44:42 -07:00
go/refactor/importgraph
Alan Donovan 3a85b8da38 refactor/importgraph: reduce I/O concurrency to avoid EMFILE
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>
2015-12-30 22:01:03 +00:00
..
graph_test.go refactor/importgraph: changes for vendor support 2015-12-18 20:17:50 +00:00
graph.go refactor/importgraph: reduce I/O concurrency to avoid EMFILE 2015-12-30 22:01:03 +00:00