The basics of Profile-Guided Optimization (PGO) in Rust
Profile-Guided Optimization (PGO) is a #compiler optimization technique that helps with optimizing software performance based on runtime statistics from your application. This optimization is available for a long time in the Rustc compiler. But how smooth will be your experience when you try to enable PGO in practice? In this talk, Alexander Zaitsev applies PGO to many kinds of software (compilers, databases, log solutions, CLI tools, and many other things), collected a lot of carefully hidden traps on his journey, and found multiple ways how to avoid them. What is PGO and why do we need it? PGO performance benefits in practice (with a lot of numbers for actual open-source software) What kinds of PGO do we have nowadays? Pros and cons of each PGO way. Most and less common PGO traps that you can meet in your journey and how to mitigate them. PGO state in the #Rust ecosystem: Compilers, build systems, community tooling. This talk is designed to help developers be much more prepared to optimize Rust applications with #PGO in practice! This talk was part of the Oxidize 2024 event held in Berlin, Germany, in May. Sign up for the newsletter to stay up to date on future speaking, sponsoring or attending opportunities for the next #OxidizeConf! #rustacean #rustlang #community #oss #opensource