Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

The Hitchhiker's Guide to Faster Builds

NDC Conferences via YouTube

Overview

Explore techniques and tools for improving C++ build times in this comprehensive conference talk. Gain insights into the reasons behind long compilation and linking times in C++, and discover an extensive list of strategies to enhance productivity. Learn about hardware considerations, build systems, caching mechanisms, and distributed builds. Delve into code hygiene practices, unity builds, precompiled headers, and optimal linking strategies. Examine source code modification techniques like the PIMPL idiom and effective template usage. Understand the concept of modules in C++, their upcoming implementation, and how they will impact existing practices. Acquire practical knowledge to diagnose bottlenecks, optimize code structure, and significantly reduce build times in C++ projects.

Syllabus

Intro
The steps in building C++ code
Boost includes - after the preprocessor
Unreachable (dead) code
Low hanging fruit
PIMPL - pointer to implementation
PIMPL - pros & cons
Abstract interfaces & factories
Precompiled headers - usage • supported by mainstream compilers
Unity builds - cons
Unity builds - how to maintain
Inlining annotations
Templates - argument-independent code
Templates - C++11 extern template
Templates - move functions out of headers
Templates - cost of operations
Templates - other notes
Templates - tools
Diagnostics - compilation
Diagnostics - binary bloat
Build systems
Parallel builds
Diagnosing/monitoring parallelism
Sort-of winners (in terms of speed)
Static vs dynamic linking
Dynamic linking - symbol visibility
Multiplatform symbol export annotations
Linkers - LTO and other flags
Compiler caches
Distributed builds
Hardware
Physical design
Dependency analysis
Modules - history
Modules - motivation
Modules - VS 2017 example
Modules - how they work
Modules - a parallelization case study

Taught by

NDC Conferences

Reviews

Start your review of The Hitchhiker's Guide to Faster Builds

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.