Event

Event
12:00
-
12:30
Day 2
Profile-Guided Optimization (PGO) in Go: current state and challenges
UB5.132
English
Assembly-Event
<p>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.</p> <p>In this talk, I want to discuss the current PGO state in the Go ecosystem. During my work on the <a href="https://github.com/zamazan4ik/awesome-pgo">Awesome PGO</a> 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:</p> <ul> <li>PGO state across Go compilers</li> <li>PGO awareness across the Go industry</li> <li>PGO tooling issues</li> <li>Strengths and weaknesses of PGO modes for different use cases in real-world</li> <li>Top blockers for PGO adoption</li> <li>And many other things!</li> </ul> <p>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.</p> <p>Target audience: performance-oriented Go users and Go compiler engineers</p>