@@ -209,8 +209,34 @@ <h2 id="compiler">Compiler</h2>
209
209
updated to satisfy the safety rules.
210
210
</ p >
211
211
212
- < p > <!-- CL 231497 -->
213
- TODO: < a href ="https://golang.org/cl/231497 "> https://golang.org/cl/231497</ a > : merge branch 'dev.link' into master
212
+ < h2 id ="linker "> Linker</ h2 >
213
+
214
+ < p >
215
+ This release includes substantial improvements to the Go linker,
216
+ which reduce linker resource usage (both time and memory) and
217
+ improve code robustness/maintainability.
218
+ </ p >
219
+
220
+ < p >
221
+ For a representative set of large Go programs, linking is 20% faster
222
+ and requires 30% less memory on average, for < code > ELF</ code > -based
223
+ OSes running on < code > amd64</ code > architectures, with more modest
224
+ improvements for other architecture/OS combinations.
225
+ </ p >
226
+
227
+ < p >
228
+ The key contributors to better linker performance are a newly
229
+ redesigned object file format, and a revamping of internal
230
+ phases to increase concurrency (for example, applying relocations to
231
+ symbols in parallel). Object files in Go 1.15 are slightly larger
232
+ than their 1.14 equivalents.
233
+ </ p >
234
+
235
+ < p >
236
+ These changes are part of a multi-release project
237
+ to < a href ="https://golang.org/s/better-linker "> modernize the Go
238
+ linker</ a > , meaning that there will be additional linker
239
+ improvements expected in future releases.
214
240
</ p >
215
241
216
242
< h2 id ="library "> Core library</ h2 >
0 commit comments