Profile-Guided Optimization (PGO) in Go: current state and challenges
- Track: Go
- Room: UB5.132
- Day: Sunday
- Start: 09:30
- End: 10:00
- Video only: ub5132
- Chat: Join the conversation!
Profile-Guided Optimization (PGO) is a well-known compiler optimization technique that brings runtime statistics about how an application is executed to the Ahead-of-Time (AoT) compilation model, which is quite recently added to the Go compiler. However, this technique is not widely used nowadays.
In this talk, I want to discuss the current PGO state in the Go ecosystem. During my work on the Awesome PGO project, I gathered a lot of interesting data points and insights about various PGO issues and discussed many related quirks with different stakeholders like end-users, maintainers, and application developers. We will talk about:
- PGO state across Go compilers
- PGO awareness across the Go industry
- PGO tooling issues
- Strengths and weaknesses of PGO modes for different use cases in real-world
- Top blockers for PGO adoption
- And many other things!
I believe that after the talk more people will be aware of PGO, aware of usual PGO blockers, and know more about how to avoid these limitations in practice.
Target audience: performance-oriented Go users and Go compiler engineers
Speakers
| Alexander Zaitsev |