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


Advent Of Code 2024 Now Underway
01/12/2024

December 1st is much anticipated among those who like programming puzzles. It is time to start solving small but tricky puzzles on the Advent of Code website with the goal of amassing 50 stars by Chri [ ... ]



AI At edX With 30% Savings
13/12/2024

edX is offering a 30% discount on selected courses and program bundles until December 19th. We look at  AI-related certifications that could boost your resume in 2025.


More News

 

espbook

 

Comments




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

Last Updated ( Friday, 01 September 2017 )