Whole program optimization enables higher performance in C++ applications, because of the expanded scope for analysis and optimization. Traditionally, whole program optimization is not scalable in memory or time, and doesn't support effective incremental builds. ThinLTO (Thin Link Time Optimization) is a new compilation model that was implemented a few years ago in the LLVM compiler toolchain to enable scalable whole program optimization for huge C++ applications, and the fast incremental builds required for use in day-to-day development. It is now the default compilation mode for Google's C++ applications running in production.
In this talk I'll give an overview of ThinLTO, describe our experience and learnings when deploying it at scale, and detail some of the recent and future whole program optimizations enabled by the framework.
Please login to comment