I wanted to play with https://github.com/trustpath/sequence a little bit 
and was surprised to find that it took over a minute to compile on my 
computer (i7-6700K, 64GB RAM, Samsung SSD). Most of the programs I work on 
in Go are very fast to compile, and this is probably the only outlier I've 
ever noticed. At first I thought it must just be that the program was much 
more complicated than my usual project. But then I noticed that the compile 
times are wildly different with different versions of Go.

% docker run -it --rm golang:1.4 /bin/bash -c "go version ; time go get -u 
github.com/trustpath/sequence/cmd/sequence"
go version go1.4.3 linux/amd64

real 0m11.227s
user 0m4.493s
sys 0m0.747s


% docker run -it --rm golang:1.5 /bin/bash -c "go version ; time go get -u 
github.com/trustpath/sequence/cmd/sequence"
go version go1.5.4 linux/amd64

real 0m11.812s
user 0m7.930s
sys 0m0.910s


% docker run -it --rm golang:1.6 /bin/bash -c "go version ; time go get -u 
github.com/trustpath/sequence/cmd/sequence"
go version go1.6.4 linux/amd64

real 0m12.258s
user 0m8.063s
sys 0m0.663s


% docker run -it --rm golang:1.7 /bin/bash -c "go version ; time go get -u 
github.com/trustpath/sequence/cmd/sequence"
go version go1.7.5 linux/amd64

real 1m26.425s
user 1m21.607s
sys 0m1.087s


% docker run -it --rm golang:1.8 /bin/bash -c "go version ; time go get -u 
github.com/trustpath/sequence/cmd/sequence"
go version go1.8rc3 linux/amd64

real 0m31.772s
user 0m30.927s
sys 0m1.117s


(I realize that the build times above all include the time to fetch 
dependencies and whatnot). The compile times are pretty consistent on my 
computer. Build times are usually ~5 seconds faster without having to fetch 
dependencies.

Like I said before, most of the Go programs I've compiled in the past are 
usually built within a few seconds at most. I'm not sure what about Go 1.7 
and 1.8 could make such a huge difference in compile times. Any thoughts?

Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to