night icon indicating copy to clipboard operation
night copied to clipboard

【发起分享提案】深入学习:“Building a better Go linker”

Open yangwenmai opened this issue 4 years ago • 0 comments

深入学习:“Building a better Go linker”

在 Go 1.16 中,linker 获得了 20-25% 的提升,减少了5-15%的内存开销,希望可以深入学习,了解其实现原理。

诉求

知其所以然

参考资料

https://golang.org/doc/go1.16#linker

This release includes additional improvements to the Go linker, reducing linker resource usage (both time and memory) and improving code robustness/maintainability. These changes form the second half of a two-release project to modernize the Go linker.

The linker changes in 1.16 extend the 1.15 improvements to all supported architecture/OS combinations (the 1.15 performance improvements were primarily focused on ELF-based OSes and amd64 architectures). For a representative set of large Go programs, linking is 20-25% faster than 1.15 and requires 5-15% less memory on average for linux/amd64, with larger improvements for other architectures and OSes. Most binaries are also smaller as a result of more aggressive symbol pruning.

https://docs.google.com/document/d/1D13QhciikbdLtaI67U6Ble5d_1nsI4befEd6_k1z91U/view#


备注

任何你想要表达的话语。

yangwenmai avatar Feb 22 '21 23:02 yangwenmai