Skip to content
0:00 / 0:00

#thinlto#llvm#link-timeoptimization

CppCon 2017: Teresa Johnson “ThinLTO: Scalable and Incremental Link-Time Optimization”

CppCon

189K subscribers • 103 videos on Hallway • Conference channel

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • A classic. People kept recommending it from 2018 to 2022.
  • Presented by Teresa Johnson
  • Linked in the descriptionCppCon/CppCon2017

Advanced. Deep dive for people who know the field.

17K views9 years ago2 recommendations

Systems programmingCompilers and interpretersPerformance and optimizationC++

Teresa Johnson explains ThinLTO, a scalable compilation model in LLVM that enables whole-program optimization and fast incremental builds.

CppCon.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2017 — Whole program optimization enables higher performance in C++ applications, because of the expanded scope for analysis and optimization. However, the memory and time required to optimize the entire program together as a single unit traditionally has made whole program optimization infeasible for complex and large C++ applications, such as those being built at Google. Additionally, traditional whole program optimization frameworks have not supported fast incremental builds. ThinLTO (Thin Link Time Optimization) is a new compilation model that was recently deployed in the LLVM compiler toolchain to enable scalable whole program optimization for these huge C++ applications, and additionally enables the fast incremental builds required for use in day-to-day development. In this talk we’ll describe why whole program optimization is beneficial for C++ applications, how the ThinLTO compilation model enables scalable and incremental builds, and how ThinLTO can be integrated with distributed build systems for even faster whole program builds. Additionally, we’ll describe implications for C++ developers. — Teresa Johnson: Software Engineer, Google Teresa Johnson works on compiler optimization at Google. Prior to joining Google in 2011, she developed compiler optimizations for the Itanium compiler at HP, and received a PhD from the University of Illinois at Urbana-Champaign. — Videos Filmed & Edited by Bash Films: BashFilms.com Work at Hudson River Trading (HRT): tinyurl.com/safxfctf --- Videos Filmed & Edited by Bash Films: BashFilms.com

Why it's here

2 people recommend this

What people say. Recommended for understanding scalable link-time optimization techniques and how they can be applied to large codebases.

u/adamxadamin r/haskell • Recommends

On “Intel CPUs 30% faster than AMD at compiling Haskell”

An important part of the GHC Haskell puzzle is cross module inlining and for that you need to have the code available... Maybe this can be improved upon though. For typechecking you should just need the signatures of modules you depend on. I just watched a talk on LLVM link time optimisation (<link to this video where they recover cross "module" inlining for C/C++ during linking. Maybe their solutions for parallelisation could be adapted? or maybe GHC already does similar things.

u/Shadow_Gabrielin r/C_Programming • Recommends

On “Cppcon 2021 has just released its talks. IYO, what talks would be beneficial for C programmers to watch?”

I haven't started watching the 2021 ones yet. I do have one recommendation, it's from 2017, a talk about LTO.