Measure compile-time costs

Measure compile-time costs in C++ — with the four heights of help laid out: do it now, make it easier for the next person to accept, work out the right move when you are stuck, and learn the pattern so it stops coming back.

4prompt heights
Open it in the interactive atlas →

The four heights

The same task, four distances: today's deadline, the next reviewer, the stuck moment, the pattern.

Execute — do the immediate task

+
Measure the incremental compile time impact of a new header we added. Build a clean Release object…
Measure the incremental compile time impact of a new header we added. Build a clean Release object with -j8 for the main executable before and after adding that header, record wall-clock time and per-translation-unit times, and produce a short table showing which .cpp files increased compile time by more than 5%. Summarize whether the header caused more template instantiations or included heavy system headers.

Improve — make it easier to accept

+
Before I present compile-time changes to the team, make it easy to act on: highlight the top five…
Before I present compile-time changes to the team, make it easy to act on: highlight the top five translation units with the largest regression, show which included headers they pull in and how many symbols or template instantiations that introduces, and flag quick fixes like forward declarations, pimpl, or moving headers to implementation files with an estimated time to fix.

Decide — diagnose the stuck moment

+
After merging the refactor branch, CI compile time jumped 20% but the diff touches only utilities…

A 20% jump in CI compile time after merging a refactor

After merging the refactor branch, CI compile time jumped 20% but the diff touches only utilities and a common header. I suspect increased template instantiations or an accidental include chain. I can't tell which TU exploded or whether the toolchain changed. What's the quickest way to localize the compile-time regression and prove whether it's caused by the header change or a CI toolchain difference?

Become — change the pattern

+
Over many sprints we accumulate headers that drag compile times up and engineers tolerate long…

We repeatedly accept heavy headers that slow every build

Over many sprints we accumulate headers that drag compile times up and engineers tolerate long rebuilds. That kills willingness to run local builds and hurts review quality. Which three programming and repo habits should we change—include patterns, CI checks, or code-review signals—so compile times stay acceptable and regressions get caught immediately?

Next to this one

Other programming language work people do in C++.

Every task here came from the work, not from a feature list — which is why the prompts name what you want done and never the button that does it. The tool changes; the work does not.
Copyright © LLOS.ai · 2026 — original pedagogy, voice, and design — all rights reserved.

The rest of the map

Same library, five ways in.