Go to file
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
benchmark/parse benchmark/parse: fix cosmetic defect in error str. 2015-02-02 17:07:43 +00:00
blog tools: add import comments. 2014-12-09 22:42:16 +00:00
cmd cmd/gorename: -d flag prints diffs instead of rewriting files 2015-12-30 15:25:00 +00:00
container/intsets container/intsets: use fast popcount with gccgo 2015-11-11 02:17:02 +00:00
cover cover: accept inaccurate block endings 2015-01-07 02:00:16 +00:00
go refactor/importgraph: reduce I/O concurrency to avoid EMFILE 2015-12-30 22:01:03 +00:00
godoc godoc/dl: update label for ARMv6 binary distribution 2015-12-20 20:15:05 +00:00
imports imports: Remove ancient Go 1.1 compatibility indirections. 2015-12-14 00:47:31 +00:00
oracle oracle: describe: fix crash on bad ImportSpec 2015-12-30 20:24:55 +00:00
playground playground/socket: only buffer messages of one kind, add tests 2015-10-30 06:08:43 +00:00
present present: don't ignore command within text scope 2015-10-30 00:41:15 +00:00
refactor refactor/importgraph: reduce I/O concurrency to avoid EMFILE 2015-12-30 22:01:03 +00:00
.gitattributes tools: copying .gitattributes to all subrepositories (fixes windows build) 2014-12-23 06:32:51 +00:00
.gitignore dashboard: rearrange tree, in prep for packagification 2015-01-15 02:58:11 +00:00
AUTHORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
CONTRIBUTING.md doc: add CONTRIBUTING.md 2015-02-18 23:43:38 +00:00
CONTRIBUTORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
LICENSE LICENSE: add 2012-03-17 15:20:58 +11:00
PATENTS go.empty: add PATENTS file to the subrepo. 2012-04-16 11:24:04 +10:00
README go.tools/README: minor correction. 2013-10-29 13:20:58 -04:00
codereview.cfg tools: add codereview.cfg 2015-03-18 17:04:00 +00:00

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.