Optimization Guide¶
Getting maximum performance from rninja.
Parallelism¶
Use All Cores¶
Tune for Memory¶
Large builds may need limiting:
Cache Optimization¶
Enable Caching¶
Use Fast Storage¶
Remote Cache for Teams¶
Build File Optimization¶
Declare All Dependencies¶
Undeclared dependencies cause cache misses.
Use Depfiles¶
Let the compiler report dependencies:
Avoid Non-Determinism¶
Remove timestamps and random values from builds.
Daemon Mode¶
Keep daemon running:
Subsequent builds are faster.
Profiling¶
Identify bottlenecks:
Checklist¶
- Use all CPU cores (
-j0) - Enable caching
- Use SSD for cache
- Declare all dependencies
- Use depfiles
- Remove non-determinism
- Keep daemon running
- Profile slow builds