Hacker News new | ask | show | jobs
by travjones 3593 days ago
Great work, Go team!

Standout points in my opinion:

Overall performance improvements:

>> "We observed a 5–35% speedup across our benchmarks."

Decreased compile times and binary size:

>> "While these changes across the compiler toolchain are mostly invisible, users have observed a significant speedup in compile time and a reduction in binary size by as much as 20–30%."

Vendoring dependencies by default:

>> "...and in Go 1.7... the "vendor" behavior is always enabled"

Context package added to std lib:

>> "To make use of contexts within the standard library and to encourage more extensive use, the package has been moved from the x/net repository to the standard library as the context package."

1 comments

The faster compilation time & speed up is quite real in our real life prod application.

From Go 1.6 to 1.7: Test suite (CI), from 3:34 to 1:48 Docker image building, from 3:05 to 1:50

https://twitter.com/mattetti/status/763913903600349184

On our code base, we're seeing >2x build speed increases vs. go 1.6! Compiling the entire go monorepo, including vendored dependencies, dropped from 73 seconds to 29 on 4 CPUs when moving from 1.6.3->1.7rc6. Huge improvements to CI times, when amortized across go build, go test, docker builds etc.
That's a ridiculous speed improvement. Holy shit.
Wow. That's impressive. Thanks for the example numbers, Matt!
Thanks to the Go team, getting such an improvement without having to do anything is awesome. And I can't believe there is more coming in 1.8
Following the twitter link and got this: "Something is technically wrong. Thanks for noticing—we're going to fix it up and have things back to normal soon."
I've noticed this too on random pages. Seems Twitter is having issues today.
The link works for me. :)
From Go 1.5.4 to 1.7, I can see that the compilation time has improved. Didn't measure it, though.

However, the binary size didn't change appreciably. From 11129144 bytes, it reduced by 0.00179708340551618345%.

How large-ish is your codebase?
That's what I was wondering. Our largest Go application takes maybe 5 seconds to compile clean. We largely use Go as a number of Microservices though.
167912 LOC