Go 1.9 Adds Parallel Compilation
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, FacebookGoogle+ or Linkedin.



I O T MicroMasters About To Start

A MicroMasters program focusing on the Internet of Things (I o T) on the edX platform starts on February 27th. To gain the credential, which comprises six courses, will take fourteen months and c [ ... ]

Progressive Web Apps Do Seem To Be The Next Big Thing UPDATED

We know that we work in a field where fashion swings back and forth. The next big thing is what we all want to use, and it looks as if Progressive Web Apps are it.

More News




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

Last Updated ( Friday, 01 September 2017 )

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.