Go 1.15 Improves Linker
Written by Kay Ewbank   
Tuesday, 18 August 2020

Go 1.15 has been released with improvements to the linker along with better handling of allocation for small objects at high core counts. Alongside these improvements, there are changes to the implementation of the toolchain, runtime, and libraries.

Go is an open source project developed by a team at Google and many contributors from the open source community over more than 8 years. The main intended use is as a systems programming language, and it has been used in high profile commercial successes such as Docker.

goicon2The improvements to the linker are designed to reduce linker resource usage for both time and memory, and to improve code robustness and maintainability. The development team say that for a representative set of large Go programs, linking is 20 percent faster and requires 30 percent less memory on average for ELF-based OSes on AMD64 architectures, with more modest improvements for other architecture and OS combinations.

The improvements have been achieved through a newly redesigned object file format, and a revamping of internal phases to increase concurrency. The changes have meant that object files in Go 1.15 are slightly larger than their 1.14 equivalents.

Another improvements is that because the linker now defaults to internal linking mode for Linux on ARM64, such configurations no longer require a C linker. 

A new package, time/tzdata, has been included. This can be used to embed the timezone database into a program, which can then find timezone information even if the timezone database is not available on the local system.

Runtime improvements means that allocation of small objects now performs much better at high core counts, and has lower worst-case latency, and converting a small integer value into an interface value no longer causes allocation.

goicon2

More Information

Go Download Page

GoLang Org Webpage

Related Articles

Go 2 Details Revealed

Help Go Develop

Go 1.11 Adds WebAssembly Port
Go Drops The Gopher - The End is in Sight

Go SDK For Azure Released

Go Survey Revelations

Go At Eight

Why invent a new language? Go creator explains

A Programmer's Guide To Go

A Programmer's Guide To Go Part 2 - Objects And Interfaces

A Programmer's Guide To Go Part 3 - Goroutines And Concurrency 

 

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


Ai-Da's Portrait of Alan Turing At Auction
01/11/2024

Sotheby's Digital Art Day Action, now underway, features a large-scale portrait of  Alan Turing created by Ai-Da, the humanoid robot artist whose work, including this canvas, was exhibited at the [ ... ]



Google Opensources Privacy Library
08/11/2024

Google is making a new differential privacy library available as open source. PipelineDP4J is a Java-based library that can be used to analyse data sets while preserving privacy.


More News

espbook

 

Comments




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

Last Updated ( Friday, 12 March 2021 )