Ninja is a build system that focuses solely on speed. It aims to have the fastest possible build times by keeping things very simple - it has almost no built-in functionality and relies on external meta-build systems like GYP or CMake to generate the build specification files (ninja files). Ninja files describe dependencies between targets but don't include complex build logic. This keeps the overhead of the build system very low and allows builds to be highly parallelized.