Go 1.7 Brings a Performance Boost and Mainframe Support
Monday, six months to a tee since the release of Go 1.6, Google has released the eighth version of the Go programming language, version 1.7.
This release of Golang brings some significant changes, such as an updated compiler, the addition of the ‘context’ package, and hierarchical testing. Google has also ported the language to IBM LinuxOne mainframes.
The port for Linux on IBM z Systems is an experimental release in 1.7 and is accompanied by an early Plan 9 port.
While Go’s compiler is known to be slow and needs future work, this release of Go begins to bring in significant improvements to the language’s compiler.
According to Google’s benchmarks, the new compiler increases performance by up to 35 percent. Binary size is reportedly reduced by 20-30 percent and compile speeds have noticeably increased in contrast to 1.6.
The backend of the compiler has been redesigned to represent source code in static single-assignment form, which assigns every variable only once. Static single assignment is currently only supported by the 64-bit x86 platform. However, the compiler frontend now processes import declaration more efficiently and seems to be updated across all platforms.
After proving to be essential to applications involving networking and microservices, golang.org/x/net/context has now become part of the Go standard library as package ‘context.’
Other packages within the core library can now use ‘context’ to enable timeouts, cancellation, and the passing of request-scoped data. Package context’s movement to the Go standard library is to encourage its further use.
Hierarchical testing and table-driven benchmarks are now both supported with subtests and sub-benchmarks. These features are enabled in the ‘testing’ package.
Almost all Go programs will still compile and run the way that they did before under the Go 1 promise of compatibility. Go 1.7 is available for download at and welcomes new contributors.
The features and improvements mentioned above are only some of the many changes made in this version of Go. For a full list, check here.
IBM is a sponsor of The New Stack.
Feature image via Pixabay.