Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Go 1.7 #971

Merged
merged 2 commits into from
Aug 26, 2016
Merged

Go 1.7 #971

merged 2 commits into from
Aug 26, 2016

Conversation

ejholmes
Copy link
Contributor

@ejholmes ejholmes commented Aug 16, 2016

Go 1.7 was released today.

Primary improvements will be slightly better performance:

Programs should run a bit faster due to speedups in the garbage collector and optimizations in the standard library. Programs with many idle goroutines will experience much shorter garbage collection pauses than in Go 1.6.

A smaller binary, and faster compile times:

The compiler front end uses a new, more compact export data format, and processes import declarations more efficiently. 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%.

But most importantly, the net/context package has been moved into the stdlib, which means we can remove the dependency on pkg/httpx and use standard http.Handlers.

Over the past few years, the golang.org/x/net/context package has proven to be essential to many Go applications. Contexts are used to great effect in applications related to networking, infrastructure, and microservices (such as Kubernetes and Docker). They make it easy to enable cancelation, timeouts, and passing request-scoped data. 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. Support for contexts has been added to the net, net/http, and os/exec packages. For more information about contexts, see the package documentation and the Go blog post Go Concurrency Patterns: Context.

I'll open a separate PR that removes the pkg/httpx depency.

@ejholmes ejholmes force-pushed the go1.7 branch 2 times, most recently from 811399a to 99f60eb Compare August 23, 2016 03:31
@ejholmes ejholmes added this to the 0.12.0 milestone Aug 23, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant