From 9326d71874730901c159643703a16dc34646e5bd Mon Sep 17 00:00:00 2001 From: Than McIntosh Date: Tue, 2 Jun 2020 13:56:26 -0400 Subject: [PATCH] doc/go1.15: add release notes for new linker Add a blurb to the release notes describing improvements made to the Go linker in the most recent development cycle. Updates #37419. Change-Id: I3b870f0c00efc0b7b33aab2631d8c4e1c273922d Reviewed-on: https://go-review.googlesource.com/c/go/+/236159 Reviewed-by: Austin Clements Reviewed-by: Dmitri Shuralyov --- doc/go1.15.html | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/doc/go1.15.html b/doc/go1.15.html index d89769ed86..37fa76c69c 100644 --- a/doc/go1.15.html +++ b/doc/go1.15.html @@ -209,8 +209,34 @@ TODO updated to satisfy the safety rules.

-

- TODO: https://golang.org/cl/231497: merge branch 'dev.link' into master +

Linker

+ +

+ This release includes substantial improvements to the Go linker, + which reduce linker resource usage (both time and memory) and + improve code robustness/maintainability. +

+ +

+ For a representative set of large Go programs, linking is 20% faster + and requires 30% less memory on average, for ELF-based + OSes running on amd64 architectures, with more modest + improvements for other architecture/OS combinations. +

+ +

+ The key contributors to better linker performance are a newly + redesigned object file format, and a revamping of internal + phases to increase concurrency (for example, applying relocations to + symbols in parallel). Object files in Go 1.15 are slightly larger + than their 1.14 equivalents. +

+ +

+ These changes are part of a multi-release project + to modernize the Go + linker, meaning that there will be additional linker + improvements expected in future releases.

Core library

-- 2.50.0