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.

 

goblack

 

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.


goicon1

 

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.

 

Banner


Flutter Forked As Flock
05/11/2024

One of developers who worked on the Flutter team at Google has created an open-source form of the framework. Matt Carroll says Flock will be "Flutter+", will remain constantly up to date with Flutter, [ ... ]



Rust 1.82 Improves Apple Support
24/10/2024

Following Rust's six-week release cycle, version 1.82 has been released with higher level support for Apple, and a new Info subcommand for Cargo.


More News

 

espbook

 

Comments




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

Last Updated ( Friday, 01 September 2017 )