Lobsters | 📄 原文链接 | 2026-08-06 收录

比 Ninja 还快:build2 逼近构建系统的「光速」

来源:build2.org — 2026-08-05

📋 概述

Boris Kolpackov 用 Xerces-C++(299 个 C++ 翻译单元)做了一次 build2 与 Ninja 的公平对决。Ninja 从零完整构建耗时 3.4 秒,但别忘了 CMake 生成 Ninja 构建文件还要 15.6 秒;而原生 build2 用相同的编译参数是 3.8 秒,仅慢约 11%。关闭 build2 更精确的基于 token 校验和的变更检测后降到与 Ninja 持平,再关掉文件缓存压缩后反而比 Ninja 快 2.2%,而 build2 在这同时仍承担了 Ninja 不做的大量工作(比如在构建阶段生成并正确追踪 XercesVersion.hpp)。

🔑 核心要点

💡 金句

Ninja 并非 100% 公平的基准:它的公平性来自生成它的工具「烘烤」进去的构建逻辑。
← 返回 Lobsters 首页