Go 1.9 Adds Parallel Compilation
Written by Kay Ewbank   
Tuesday, 29 August 2017

Go 1.9 has been released with support for parallel compilation of functions for a package. It also adds support for type aliases.

Google's Go is intended to be a systems programming language, and has been under development for more than seven years. It has been used in high profile commercial successes such as Docker, was Tiobe's language of the year 2016 and is still as popular in 2017.

The changes to this version are mainly to the runtime and tooling, which as the developers say, makes for a less exciting announcement, but a better product.




The main change to the language is the introduction of type aliases, which the developers describe as a feature created to support gradual code repair while moving a type between packages. This takes care of situations where a program starts with one package, then a section of code is split into its own package.

Codebase refactoring is the process of rethinking and revising decisions about both the grouping of code into packages and the relationships between those packages. However, this can mean a lot of repairs need to be made to ensure the overall system still works. With large codebases, it's not possible to do all the repairs at one time, so the repairs must be done gradually, and the programming language must make that possible.

For types, there hasn't been any way to set up a gradual code repair. Type aliases, where you can in essence say:

type1 = type 2

are the solution added to this release.

Elsewhere, there's a new math/bits package that adds bit counting and manipulation functions for unsigned integers, implemented by special CPU instructions when possible.

The sync package has added a new Map type that's safe for concurrent access.It's not a general replacement for Go's map type. The new Map type is a concurrent map that is safe for multiple goroutines to call a Map's methods concurrently. It's optimized for use in concurrent loops with keys that are stable over time.

Go 1.9 also adds support for compiling functions for a package in parallel. This should make the build process faster.



More Information

Go Download Page

Go 1.9 Release Notes

Related Articles

Go 1.8 Goes Faster

Go Language Of The Year With Dart Catching Up 

Go Turns Seven With Lots Of Attention 

Go 1.7 Goes Faster and in More Directions

Go 1.6 Released

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, Facebook or Linkedin.



A Gentle Introduction To React, Visualized

React quickly became a popular JavaScript framework. Here's a very useful interactive website by ui.dev that showcases React's
capabilities and how it has helped in changing the face of the Web.

What Devs Think About AI

A survey from open data platform Directus reveals that the majority of developers are cautiously optimistic about the impact AI could have on the websites and software they produce. Despite concern ab [ ... ]

More News






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

Last Updated ( Friday, 01 September 2017 )