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


Microsoft Adds Custom Data Types To Excel
03/11/2020

Microsoft is adding support for custom business data types to Excel. The addition will be made to Excel for Windows for Office 365 subscribers. The new facility seems powerful, but likely to cause con [ ... ]



GitHub Supports Literate Programming Environment For Python
03/12/2020

GitHub has announced it is supporting Fast.ai in developing a new, literate, programming environment for Python called nbdev.


More News

 

square

 



 

Comments




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

Last Updated ( Friday, 01 September 2017 )