At Facebook, the main bottlenecks in build times are caused by auto-generated code from our core RPC Framework. Through the use of templates we were able to obtain up to 50% build speedup in our slowest compiling files. Generic programming is usually avoided because it slows down compile times. Why is it that, in this case, the use of templates actually improved it?
This talk will take a deep-dive into the entire compilation process, from parsing and linking to template instantiation and code optimizations. It will teach you how to gather concrete data on these build steps and the techniques used to move code to templates while reducing build times.