CCCL Compile Time Benchmarking
- Dominant language
- C++
- Stars
- 2.5k
- Forks
- 486
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 295
Description
### Motivation
Compile time is not just a developer experience issue anymore. With the growing use of **JIT compilation**, CCCL header compile time becomes part of the **runtime critical path**. Even with caching, inflated header cost translates to slower startup and degraded user experience.
Many CCCL headers (especially Thrust) predate C++11 and have accumulated cruft over time. We have never done a comprehensive pass at measuring or improving header compile time. This is overdue.
### Goal
This issue tracks the **end-to-end effort** to investigate and optimize CCCL header compile time. It will serve as the **master tracking issue** for measurement, analysis, and follow-up optimizations.
### Approach
Optimization must start with data. We will first establish a baseline using the tools provided in recent CUDA releases:
* `--fdevice-time-trace` (per-TU breakdown of device compile time)
[[Blog post](https://developer.nvidia.com/blog/optimizing-compile-times-for-cuda-c/)](https://developer.nvidia.com/blog/optimizing-compile-times-for-cuda-c/)
* **CUDA Compile Time Advisor** (aggregates multiple reports to identify hotspots, e.g. expensive headers)
[[Docs](https://docs.nvidia.com/cuda/cuda-compile-time-advisor/index.html)](https://docs.nvidia.com/cuda/cuda-compile-time-advisor/index.html)
Related issues:
- https://github.com/NVIDIA/cccl/issues/5721
- https://github.com/NVIDIA/cccl/issues/5720
Contributor guide
Assessment
This issue has not been assessed yet.