From Profiling to Optimization: Unveiling the Profile Guided Optimization

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Liu, Bingxin, Huang, Yinghui, Gao, Jianhua, Shi, Jianjun, Liu, Yongpeng, Sun, Yipin, Ji, Weixing
Format: Preprint
Veröffentlicht: 2025
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866911070497538048
author Liu, Bingxin
Huang, Yinghui
Gao, Jianhua
Shi, Jianjun
Liu, Yongpeng
Sun, Yipin
Ji, Weixing
author_facet Liu, Bingxin
Huang, Yinghui
Gao, Jianhua
Shi, Jianjun
Liu, Yongpeng
Sun, Yipin
Ji, Weixing
contents 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 supporting cross-architecture portability, and propose future research directions to low-overhead profiling and advanced compilers.
format Preprint
id arxiv_https___arxiv_org_abs_2507_16649
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle From Profiling to Optimization: Unveiling the Profile Guided Optimization
Liu, Bingxin
Huang, Yinghui
Gao, Jianhua
Shi, Jianjun
Liu, Yongpeng
Sun, Yipin
Ji, Weixing
Performance
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 supporting cross-architecture portability, and propose future research directions to low-overhead profiling and advanced compilers.
title From Profiling to Optimization: Unveiling the Profile Guided Optimization
topic Performance
url https://arxiv.org/abs/2507.16649