tools/go
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
..
ast/astutil go/ast/astutil: set Pos for import name 2015-05-19 23:10:16 +00:00
buildutil refactor/importgraph: reduce I/O concurrency to avoid EMFILE 2015-12-30 22:01:03 +00:00
callgraph go/ssa: rename some API features (incompatible change) 2015-08-31 22:20:12 +00:00
exact tools: add import comments. 2014-12-09 22:42:16 +00:00
gccgoimporter x/tools: disable tests not supported on Android 2015-08-06 00:36:03 +00:00
gcimporter go/types: change {Type,Object,Selection}String to accept a Qualifier function 2015-06-30 19:00:00 +00:00
importer go/importer: in TestImportStdLib, skip 2 packages that use vendoring 2015-12-28 21:28:10 +00:00
loader go/loader: in stdlib_test, remove workaround for lack of vendoring 2015-12-30 16:37:28 +00:00
pointer go/pointer: fix bug in constraint generation of "for _, v := range map" 2015-10-26 16:28:05 +00:00
ssa go/ssa/interp: enable support for Example tests 2015-12-28 21:19:28 +00:00
types go/types: in TestStdlib, skip 2 packages that use vendoring 2015-12-28 21:04:49 +00:00
vcs go/vcs: workaround EOF bug in token-based XML decoder 2015-12-29 20:27:04 +00:00