Go 1.7 Goes Faster and in More Directions
Go 1.7 Goes Faster and in More Directions
Written by Kay Ewbank   
Tuesday, 16 August 2016

An updated version of Go has been released with support for IBM z Systems, and improvements to the compiler.

The support for IBM z Systems comes in the form of a port for Linux running on z Systems (s390x). The port is still at the experimental stage, and the new version also includes the beginning of a port to Plan 9 on ARM (plan9/arm).

goblack

The compiler has been redeveloped with a new back end that is based on static single-assignment (SSA) form. The back end has been under development for a year with the aim of performing advanced optimizations more easily.

According to a post on the Go language blog:

"This new back end generates more compact, more efficient code that includes optimizations like bounds check elimination and common subexpression elimination. We observed a 5–35% speedup across our benchmarks. For now, the new backend is only available for the 64-bit x86 platform ("amd64"), but we’re planning to convert more architecture backends to SSA in future releases."

This, along with changes to the compiler front end, are behind a significant speedup in compile time and a reduction in binary size by as much as 20–30%. Other performance improvements to the garbage collector and optimizations in the standard library should also help with the performance.

One 'housekeeping' change to the new version has been made to encourage more Go programmers to make use of Contexts. Contexts are used to make it easier to pass request-scoped values, cancellation signals, and deadlines across API boundaries to goroutines that need to handle a request. Contexts are helpful in applications related to networking, infrastructure, and microservices such as Kubernetes and Docker. They make it easy to enable cancellation, timeouts, and passing request-scoped data.

In the hope that more developers will recognize and use the facility, the context library has been moved from the x/net repository to the standard library as the context package, and support for contexts has been added to the net, net/http, and os/exec packages.

There are a number of other additions and improvements to Go 1.7 that are detailed in the Go 1.7 release notes.

goicon1

More Information

Go Download Page

Go Blog

Related Articles

Go 1.5 In Beta

Go 1.4 gets Android support 

Go 1.3 Released

A Programmer's Guide To Go

Why invent a new language? Go creator explains

Go Is Four

Go with Google - Yet Another Language!

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter,subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin

 

Banner


Robot Stunt Double Lands Perfectly Every Time
30/06/2018

Disney's Imagineering Research and Development department has unveiled a humanoid robot capable of performing impressive stunts and be a new attraction at Disneyland and its related theme parks.



EU Blockchain Observatory and Forum Blockchain AMA
27/06/2018

The EU Blockchain Observatory is a recent initiative, launched in February 2018, which is backed by the European Commission with the primary aim of educating the EU's public on Blockchain technology.T [ ... ]


More News

 

justjsquare

 



 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Tuesday, 15 November 2016 )
 
 

   
Banner
RSS feed of news items only
I Programmer News
Copyright © 2018 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.