Repository metrics
- Stars
- (133,883 stars)
- PR merge metrics
- (No merged PRs in 30d)
Description
I'm noticing ~15x increase in build time when switched to go 1.5. It is somehow connected with a package github.com/ry/v8worker - binding for v8 javascript engine. I'm building on OS X.
This is a trivial program:
package main
import _ "github.com/ry/v8worker"
func main() {
}
1.4 build time: real 0m1.075s user 0m0.964s sys 0m0.108s
1.5 build time: real 0m16.816s user 0m16.225s sys 0m1.226s
Go 1.5 spends almost all of the time on the link step: /usr/local/Cellar/go/1.5/libexec/pkg/tool/darwin_amd64/link -o $WORK/slow_build/_obj/exe/a.out -L $WORK -L /Users/ianic/work/web/src/golang/pkg/darwin_amd64 -extld=clang++ -buildmode=exe -buildid=14ca37ec220e553c7bf9829fe97751df5a041f5f $WORK/slow_build.a
1.4 output for: time go build -v -x WORK=/var/folders/dx/p9b300dd27dcbqcrz0h9kn800000gn/T/go-build829145301 slow_build mkdir -p $WORK/slow_build/_obj/ mkdir -p $WORK/slow_build/_obj/exe/ cd /Users/ianic/work/web/src/golang/src/slow_build /usr/local/Cellar/go/1.4.2/libexec/pkg/tool/darwin_amd64/6g -o $WORK/slow_build.a -trimpath $WORK -p slow_build -complete -D _/Users/ianic/work/web/src/golang/src/slow_build -I $WORK -I /Users/ianic/work/web/src/golang/pkg/darwin_amd64 -pack ./main.go cd . /usr/local/Cellar/go/1.4.2/libexec/pkg/tool/darwin_amd64/6l -o $WORK/slow_build/_obj/exe/a.out -L $WORK -L /Users/ianic/work/web/src/golang/pkg/darwin_amd64 -extld=clang++ $WORK/slow_build.a mv $WORK/slow_build/_obj/exe/a.out slow_build
real 0m1.075s user 0m0.964s sys 0m0.108s
1.5 output for: time go build -v -x WORK=/var/folders/dx/p9b300dd27dcbqcrz0h9kn800000gn/T/go-build145414805 slow_build mkdir -p $WORK/slow_build/_obj/ mkdir -p $WORK/slow_build/_obj/exe/ cd /Users/ianic/work/web/src/golang/src/slow_build /usr/local/Cellar/go/1.5/libexec/pkg/tool/darwin_amd64/compile -o $WORK/slow_build.a -trimpath $WORK -p main -complete -buildid 14ca37ec220e553c7bf9829fe97751df5a041f5f -D _/Users/ianic/work/web/src/golang/src/slow_build -I $WORK -I /Users/ianic/work/web/src/golang/pkg/darwin_amd64 -pack ./main.go cd . /usr/local/Cellar/go/1.5/libexec/pkg/tool/darwin_amd64/link -o $WORK/slow_build/_obj/exe/a.out -L $WORK -L /Users/ianic/work/web/src/golang/pkg/darwin_amd64 -extld=clang++ -buildmode=exe -buildid=14ca37ec220e553c7bf9829fe97751df5a041f5f $WORK/slow_build.a mv $WORK/slow_build/_obj/exe/a.out slow_build
real 0m16.816s user 0m16.225s sys 0m1.226s