Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
yangwenmai opened this issue Feb 22, 2021 · 0 comments
Open
Assignees
Labels
Go 夜读 Go 夜读:主题分享

Comments

@yangwenmai
Copy link
Member

深入学习:“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 yangwenmai added the Go 夜读 Go 夜读:主题分享 label Feb 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Go 夜读 Go 夜读:主题分享
Projects
None yet
Development

No branches or pull requests

2 participants