Skip to content

Understand where build time goes. ​

Buildray measures a C++ build, tries a change in a copy of the project, then checks whether it saves time.

Your source tree stays intact. You get a patch to review, test results and a before/after comparison.

  1. Source + headers.cc / .h
  2. CompileObject files .o
  3. LinkProgram or library
Buildray times the build through the link step.

Start with a measurement ​

For a CMake project with CTest tests:

bash
buildray measure --source /path/to/project --runs 5 --jobs 2

This measures repeated full builds after removing compiled outputs. Follow your first measurement to install Buildray and enable your project's tests.

Find the explanation you need ​

What Buildray can do ​

It measures full builds and, for PCH and Unity experiments, rebuilds after individual edits. It can propose include removal, forward declarations and some CMake cleanup. Both the CLI and the GitHub Action retain reports and patches.

Current support covers Linux, Clang, CMake and Ninja. Buildray validates the configuration and tests you provide. It does not prove equivalent behavior across every configuration or guarantee a speedup.

The technical notes and validation evidence provide more detail.