-
Notifications
You must be signed in to change notification settings - Fork 18.7k
Closed
Labels
Description
Please answer these questions before submitting your issue. Thanks!
-
What version of Go are you using (
go version)?go version go1.6.2 darwin/amd64 -
What operating system and processor architecture are you using (
go env)?GOARCH="amd64" GOBIN="" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin" GOPATH="/Users/romeo/code/go" GORACE="" GOROOT="/usr/local/Cellar/go/1.6.2/libexec" GOTOOLDIR="/usr/local/Cellar/go/1.6.2/libexec/pkg/tool/darwin_amd64" GO15VENDOREXPERIMENT="1" CC="clang" GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common" CXX="clang++" CGO_ENABLED="1" -
What did you do?
I've got a repo with a lot of vendored libraries:$ tree vendor -d -L 2 vendor ├── github.com │ ├── BurntSushi │ ├── TheThingsNetwork │ ├── apex │ ├── boltdb │ ├── brocaar │ ├── dgrijalva │ ├── eclipse │ ├── fsnotify │ ├── golang │ ├── googollee │ ├── gorilla │ ├── hashicorp │ ├── jacobsa │ ├── labstack │ ├── magiconair │ ├── mattn │ ├── mitchellh │ ├── rcrowley │ ├── robertkrimen │ ├── smartystreets │ ├── spf13 │ ├── tj │ └── valyala ├── golang.org │ └── x ├── google.golang.org │ ├── appengine │ ├── cloud │ └── grpc └── gopkg.in ├── bsm ├── redis.v3 ├── sourcemap.v1 └── yaml.v2 35 directoriesAnd now
goimportsis really slow:$ time goimports routes/events.go 1>/dev/null goimports routes/events.go > /dev/null 3.45s user 9.69s system 331% cpu 3.964 totalHowever if I remove the vendored library and get the dependencies into my
$GOPATH:rm -r vendor go getgoimportsis really fast again:$ time goimports routes/events.go 1>/dev/null goimports routes/events.go 1>/dev/null 0.01s user 0.01s system 68% cpu 0.032 total -
What did you expect to see?
Same performance on vendored libs and libs in$GOPATH. -
What did you see instead?
A large performance difference.
holys