ThinLTO Whole Program Optimization
summary
ThinLTO implements a three‑phase model (per‑file IR summaries, a fast serial index, parallel backends) and delivers whole‑program inlining, internalization and cross‑module speculative virtualization while staying memory and incrementally friendly. Measured results show monolithic LTO using ~10 GB and ~30 minutes for Chromium linking versus ThinLTO’s thin link of about 30 seconds and parallel backends scaling to many cores; an incremental single‑file change finishes a full LTO rebuild in about 16 seconds. Integration works with LLVM, Bazel and distributed builders and is enabled in large production fleets.
AI-written summary · about
chapters (23)
- 0:00Intro
- 0:57ThinLTO
- 2:18Agenda
- 2:56Traditional Optimization Pipeline
- 4:26Benefits
- 7:38ThinLTO Design
- 15:39Bazel
- 17:37Analysis Phase
- 18:42Whole Program Optimizations
- 21:51Build Time Results
- 27:01Large Applications
- 28:18Incremental Builds
- 30:07Google
- 30:47User Bugs
- 33:36Action Graph
- 40:14Virtual Calls
- 41:14Virtualization
- 42:39Whole Program to Virtualization
- 44:29Procedural Analysis
- 45:14Safety
- 46:54Performance
- 49:24Going Forward
- 52:39Contact Information
related talks
01h 02mMaking the Most Out of Your Compiler
55mCode Size Compiler Optimizations and Techniques for Embedded Systems
58mOptimization Tips - Mo' Hustle Mo' Problems
37mC++ as an Optimizing Assembler - a Performance Talk
34mZephyr Footprint – Where Are We and Where Are We Going
20mFrom Cold Start To Warp Speed: Triton Kernel Caching With OCI Container Images
30mOptimizing vLLM for Intel CPUs and XPUs
01h 37mAn Overview of Program Optimization Techniques
