February 6, 2011

Ninja build system open-sourced

Evan Martin open-sourced Ninja on February 6, 2011 — a minimal build system focused on maximum compile speed.

What it was for

Ninja (build system)Ninja executes build graphs generated by CMake, Meson, or GN — no string manipulation, just fast dependency tracking and parallel compilation. ChromeGoogle's web browser — built on Chromium and the most widely used browser worldwide.'s Linux builds dropped from 10 seconds to under one second for incremental rebuilds. Example: CMake emits `build.ninja`; `ninja -C build` compiles only changed translation units.

Companies

  • Google

Why it's here

Ninja became the low-level backend that made large C++ projects rebuild in seconds.

Why it mattered

It separated build configuration (CMake/Meson) from execution, setting the pattern for modern native builds.

What it solved

Make-based incremental builds were too slow for million-line codebases like ChromiumGoogle's open-source browser project — the foundation for Chrome, Edge, and other modern browsers..

Media

  • Ninja (build system)
    ImageNinja (build system)

    Software: VideoLAN, dav1d authors, and developers Screenshot: VulcanSphere, BSD, via Wikimedia Commons

Related