The Hitchhiker's Guide to Faster Builds
Offered By: NDC Conferences via YouTube
Course Description
Overview
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
Related Courses
Computer GraphicsUniversity of California, San Diego via edX Intro to Parallel Programming
Nvidia via Udacity Initiation à la programmation (en C++)
École Polytechnique Fédérale de Lausanne via Coursera C++ For C Programmers, Part A
University of California, Santa Cruz via Coursera Introduction à la programmation orientée objet (en C++)
École Polytechnique Fédérale de Lausanne via Coursera