1
0
mirror of https://github.com/golang/go synced 2024-11-18 06:24:47 -07:00
go/refactor
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
..
eg refactor/eg: refactor to break dependency on go/loader 2015-09-01 14:26:06 +00:00
importgraph refactor/importgraph: reduce I/O concurrency to avoid EMFILE 2015-12-30 22:01:03 +00:00
rename refactor/rename: add pid to name of temporary file for diff 2015-12-30 17:21:38 +00:00
satisfy go/types: move MethodSetCache into package go/types/typeutil 2015-06-05 17:34:01 +00:00
README go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00

golang.org/x/tools/refactor: libraries for refactoring tools.