View analytic
Thursday, September 28 • 2:00pm - 3:00pm
Practical Techniques for Improving C++ Build Times

Log in to save this to your schedule and see who's attending!

Slow builds block all C++ developers from the work being done. At Facebook we have a huge codebase, where the time spent compiling C++ sources grows significantly faster than the size of the repository. In this talk we will share our practical experience optimizing build times, in some cases from several hours to just a few minutes. The majority of the techniques are open sourced or generic and can be immediately applied to your codebase.

Facebook strives to squeeze build speed out of everything: starting from a distributed build system, through the compiler toolchain and ending with code itself. We will dive into different strategies of calculating cache keys, potential caching traps and approaches to improve cache efficiency. We tune the compiler, specifically with compilation flags, profile data and link time options. We refactor legacy code by leveraging clang-based indexing tools. We will talk about the benchmarks we use to track improvements and detect regressions and what challenges we face there. Finally, you will learn about our unsuccessful approaches with an explanation of why they didn't work out for us.


Dmitry Panin

Software Engineer, Facebook

Thursday September 28, 2017 2:00pm - 3:00pm
Meydenbauer TBA #1 Meydenbauer Center
Feedback form isn't open yet.

Attendees (28)