From Profiling to Optimization: Unveiling the Profile Guided Optimization
Bingxin Liu, Yinghui Huang, Jianhua Gao, Jianjun Shi, Yongpeng Liu, Yipin Sun, Weixing Ji

TL;DR
This survey reviews Profile Guided Optimization (PGO), highlighting its methods, benefits, challenges, and future directions in enhancing compiler performance through runtime profiling techniques.
Contribution
It systematically categorizes PGO research, analyzes key algorithms, and discusses performance impacts, providing a comprehensive overview of the field and identifying open challenges.
Findings
PGO achieves significant speedups in various applications.
Sampling overhead remains a key challenge.
Future research should focus on low-overhead profiling and cross-architecture support.
Abstract
Profile Guided Optimization (PGO) uses runtime profiling to direct compiler optimization decisions, effectively combining static analysis with actual execution behavior to enhance performance. Runtime profiles, collected through instrumentation or hardware- and software-assisted sampling, provide detailed insights into control flow, branch predictions, and memory access patterns. This survey systematically categorizes PGO research by profiling method (instrumentation vs. sampling), optimizations (compile time and link/post-link time), compiler integration (GCC, LLVM), and target architectures. Key algorithms and frameworks are shown in terms of design principles. Performance evaluation on representative examples demonstrates PGO's speedups, overheads, and integration maturity. Finally, we identify open challenges, such as reducing sampling overhead, dynamic input workloads, and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Real-Time Systems Scheduling
