12:00
-
12:30
-
12:30
Day 2
Profile-Guided Optimization (PGO) in Go: current state and challenges
<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>