YoVDO

The Hitchhiker's Guide to Faster Builds - Part 1 of 2

Offered By: code::dive conference via YouTube

Tags

Code::Dive Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore techniques to accelerate C++ build times in this comprehensive conference talk from code::dive 2018. Delve into the reasons behind C++'s notoriously slow compilation and linking processes, then discover an extensive array of methods and tools to mitigate these issues. Learn about hardware optimization, build systems, caching strategies, and distributed builds. Examine code hygiene practices, unity builds, precompiled headers, and linking options. Investigate source code modifications like the PIMPL idiom and improved template usage. Gain insights into C++ modules, their future implementation, and how they may render certain optimization techniques obsolete. Perfect for developers seeking to enhance productivity by reducing compilation times in C++ projects.

Syllabus

Intro
Reality
Why reduce build times
The steps in building C++ code
Why C++ compilation takes so long
Standard includes after the preprocessor
Debug vs Release the most obvious
Unreachable (dead) code
Declarations vs definitions - functions
Declarations vs definitions - types
PIMPL - pointer to implementation
PIMPL - pros & cons
Abstract interfaces & factories
Precompiled headers - usage
Unity builds - cons
Unity builds - how to maintain
Unity builds - potential Clang support
Inlining annotations
Special member functions
Templates - C++11 extern template
Templates - move functions out of headers
Templates - cost of operations
Templates - other notes
Templates - tools
Templates - other good talks
Templates - more resources
Diagnostics - binary bloat


Taught by

code::dive conference

Related Courses

From Developer to SW Architect
code::dive conference via YouTube
Stop Writing Test Doubles You Are Using
code::dive conference via YouTube
You Can Do Better! Presentations That Are Captivating
code::dive conference via YouTube
What C and C++ Developers Can Learn from Rust
code::dive conference via YouTube
Beautiful Python Refactoring II
code::dive conference via YouTube