Improving C++ Compilation Times: Tools & Techniques - Vittorio Romeo - ACCU 2023

ACCU Membership: https://tinyurl.com/ydnfkcyn https://accu.org https://www.accuconference.org/ Improving C++ Compilation Times: Tools & Techniques - Vittorio Romeo - ACCU 2023 Slides: https://accu.org/conf-previous/accu2023/ "Modules will solve everything", people say -- some optimistically, others sarcastically. However, modules are far from reaching real-world maturity, and it is still not certain whether they will improve compilation times in every situation and how costly it will be to migrate a large codebase. Do we have to suffer with excruciating compilation times until we are able to migrate to modules? Not at all! If you are interested in learning about practical tools and techniques to improve compilation times on codebases of any size, *today*, this talk is for you! We will cover: How to accurately benchmark the compilation time of a codebase and detect bottlenecks; Enabling precompiled headers in CMake, leveraging the "reuse from" feature; Automatically transforming your build into a "unity build"; When to selectively replace heavyweight standard library headers; General techniques to reduce physical dependencies between components. --- Vittorio Romeo Vittorio Romeo (B.Sc. Computer Science, 6+ YoE at Bloomberg) works on mission-critical C++ infrastructure and provides Modern C++ training to hundreds of fellow employees. He began programming around the age of 8 and became a C++ enthusiast shortly after discovering the language. Vittorio created several open-source C++ libraries and games, published many video courses and tutorials, actively participates in the ISO C++ standardization process, and maintains the popular SFML library. He co-authored the acclaimed "Embracing Modern C++ Safely" book (published in January 2022) with J. Lakos, R. Khlebnikov, and A. Meredith. Vittorio is an active member of the C++ community with an ardent desire to share his knowledge and learn from others: he presented and offered workshops over 20 times at international C++ conferences (including CppCon, C++Now, ++it, ACCU, C++ On Sea, C++ Russia, and Meeting C++), covering topics of various nature. He also maintains a website with advanced C++ articles and a YouTube channel featuring well-received modern C++11/14 tutorials. Lastly, he's active on StackOverflow, taking great care in answering interesting C++ question (90k reputation). --- YouTube Videos Filmed, Edited & Optimised by Digital Medium: https://events.digital-medium.co.uk #accuconf #programming #compilation #cpp

Breaking Enigma With the Power of Modern C++ - Mathieu Ropert - ACCU 2023
▶︎

Breaking Enigma With the Power of Modern C++ - Mathieu Ropert - ACCU 2023

RL for Agents Workshop - Deep Dive on Training Agents with RL and Open Source
▶︎

RL for Agents Workshop - Deep Dive on Training Agents with RL and Open Source

Understanding Compiler Optimization - Chandler Carruth - Opening Keynote Meeting C++ 2015
▶︎

Understanding Compiler Optimization - Chandler Carruth - Opening Keynote Meeting C++ 2015

Comparing 'Classic C++' and 'Modern C++' Ways to Solve Programming Tasks - Roger Orr - ACCU 2023
▶︎

Comparing 'Classic C++' and 'Modern C++' Ways to Solve Programming Tasks - Roger Orr - ACCU 2023

Back to Basics: Templates in C++ - Nicolai Josuttis - CppCon 2022
▶︎

Back to Basics: Templates in C++ - Nicolai Josuttis - CppCon 2022

Productive Parallel Programming at all scales with Chapel
▶︎

Productive Parallel Programming at all scales with Chapel

Building an AI Dark Factory:  A Codebase That Writes Its Own Code, Live
▶︎

Building an AI Dark Factory: A Codebase That Writes Its Own Code, Live

Keynote: Development Environments Shape Programming Solutions - Stephanie Brenham - ACCU 2023
▶︎

Keynote: Development Environments Shape Programming Solutions - Stephanie Brenham - ACCU 2023

Object Oriented Programming | OOPS in Python | OOPS Tutorial | Intellipaat
▶︎

Object Oriented Programming | OOPS in Python | OOPS Tutorial | Intellipaat

Keynote: The Evolution of C++ - A Typescript for C++ - Herb Sutter - CppNow 2023
▶︎

Keynote: The Evolution of C++ - A Typescript for C++ - Herb Sutter - CppNow 2023

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains
▶︎

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains

What we've been (a)waiting for? - Hana Dusíková - Meeting C++ 2023
▶︎

What we've been (a)waiting for? - Hana Dusíková - Meeting C++ 2023

How to understand native speakers when they talk quickly: Live English Class
▶︎

How to understand native speakers when they talk quickly: Live English Class

System Design Course – APIs, Databases, Caching, CDNs, Load Balancing & Production Infra
▶︎

System Design Course – APIs, Databases, Caching, CDNs, Load Balancing & Production Infra

PLC Troubleshooting 101.  Basic Steps to Diagnose and Fix Your Machine
▶︎

PLC Troubleshooting 101. Basic Steps to Diagnose and Fix Your Machine

What Happens After The Compiler in C++ (How Linking Works) - Anders Schau Knatten - C++ on Sea 2023
▶︎

What Happens After The Compiler in C++ (How Linking Works) - Anders Schau Knatten - C++ on Sea 2023

Build a Complete Medical Chatbot with LLMs, LangChain, Pinecone, Flask & AWS 🔥
▶︎

Build a Complete Medical Chatbot with LLMs, LangChain, Pinecone, Flask & AWS 🔥

Back to Basics: C++ API Design - Jason Turner - CppCon 2022
▶︎

Back to Basics: C++ API Design - Jason Turner - CppCon 2022

Simple Code, High Performance
▶︎

Simple Code, High Performance

Applied C++20 Coroutines - Jim Pascoe - ACCU 2023
▶︎

Applied C++20 Coroutines - Jim Pascoe - ACCU 2023