night
night copied to clipboard
【发起分享提案】深入学习:“Building a better Go linker”
深入学习:“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#
备注
任何你想要表达的话语。