数字说话▊

git 启动 3–7x vs Git Bash prompt git 段 4–10x(对方每条 3–5 次 fork) 命令替换 / 子壳 13–62x vs GNU bash 冷启动 ~170ms · 单文件 3.79MB

每个数字都有来源(下方表格逐条标注),未实测的宣称不上这页。

启动与延迟(vs Git Bash / WSL)

指标niubash对照倍数来源
git --version 启动 ~14 ms Git Bash 45–103 ms 3–7x faster niubash README / CHANGELOG(Receipts)
git status ~23 ms — — niubash CHANGELOG
shell 冷启动到 prompt ~170 ms Git Bash ~1 s · PowerShell ~280 ms · WSL 秒级 3–6x faster niubash docs/src/why-niubash.md
prompt 内 git 段(p50) 26 ms(max 37) Git Bash __git_ps1 100–300 ms(每条 prompt 3–5 次 fork) 4–10x faster niubash CHANGELOG(实测票据)
WinuxCmd 冷启动 / 体积 ~19 ms · 3.79 MB 单文件 — — WinuxCmd README(PGO 后)

fork / 子壳专项 rubash 引擎 vs GNU bash 5.3.20

无 fork 三层执行模型(进程内 ShellState::clone 子壳)的直接收益—— 2026-10-18 复测,rubash HEAD 141b460 / niu 1.4.0,基线 GNU bash 5.3.20(aarch64), 方法:顺序轮换(interleaved),min-of-N,单项超时保护。

负载GNU bash → rubashbashrubashniu倍数
$( ) 命令替换 ×3000 4,382 ms 90 ms 119 ms 48.7x
反引号替换 ×3000 4,903 ms 79 ms 107 ms 62x
子壳 ( : ) ×5000 5,799 ms 358 ms 382 ms 16.2x
递归 fib $() ×100 37,300 ms 2,866 ms 3,019 ms 13.0x
外部进程循环 /bin/true ×2000 16,229 ms 16,404 ms 16,478 ms 1.01x
后台 sleep & wait ×750 928 ms 2,293 ms 2,423 ms 2.47x

含内联 coreutils 收益的负载 单列,不计入 fork 战绩

mkdir / touch / cat / sed / grep / wc 等常用命令在进程内执行、不产生子进程,下列倍数是「fork 节省 + 内联」的混合收益,诚实起见与上面的纯 fork 数字分开列。

负载bashrubashniu倍数
管道 echo | cat ×2000 17,347 ms 91 ms 105 ms 190x
真实脚本 mkdir/wc ×250 4,123 ms 1,928 ms 2,009 ms 2.14x

方法论与来源