Measurements #
Host: macOS, arm64. Date: November 4, 2026.
Goose: v2026.3-293-g335fddc1-dirty. C backend: Clang 21.0.0.
Reference: the installed rc-1.7.4-unstable-2025-10-01, not a build of ../rc.
Command: make bench.
Values are median whole-process milliseconds from twenty samples after three warmups.
| Workload | rc2 | rc |
|---|---|---|
| Startup | 2.614 | 2.262 |
| 1,000 assignments | 2.801 | 2.623 |
| 1,000 list expansions | 3.099 | 2.880 |
| 10,000 loop iterations | 3.659 | 5.429 |
| 20 pipelines | 36.148 | 36.291 |
These results include the Babashka process-launch overhead. Small differences do not establish a speed advantage. The loop workload favors rc2. Startup and expansion favor the reference in this run. The pipeline results are similar. No result establishes a universal speed advantage.
This run follows the UNIX job, history, Unicode editor, and automatic completion work.
The noninteractive external-command path still uses posix_spawn. Interactive jobs use process groups and fork.
Unicode property tables remain static constants. They require no startup conversion.
Compared with the previous run, startup increased by 0.185 ms. Expansion decreased by 0.221 ms.
These small whole-process changes do not isolate implementation cost from host variation.