AphrodyBun GitHub

Benchmarks

Measured runtime and product workloads. Each table identifies its binaries, source, measurement method and execution host.

Source: CI run of the aphrody-perf workflow (artifacts perf-report-*).

linux-x64

Fork 1.4.3-aphrody.2 (f7a7086b6) against upstream 1.4.2 (744846f84) on linux 6.17.0-1022-azure x64, AMD EPYC 7763 64-Core Processor x4, 16 GiB; 40 runs, 5 warmup, engine hyperfine, measured 2026-10-09T02:29:50.614Z. Median (p95); ratio = fork / upstream, lower is faster for times.

MeasureUpstreamForkRatioGate
bun --version1.40 ms (p95 1.64 ms)1.54 ms (p95 2.10 ms)1.098ok
bun -e ''1.49 ms (p95 1.86 ms)1.44 ms (p95 1.80 ms)0.961ok
bun run (empty script)4.33 ms (p95 5.44 ms)4.77 ms (p95 6.20 ms)1.101ok
bun test (one empty test)4.94 ms (p95 6.69 ms)5.60 ms (p95 6.70 ms)1.133ok
bun build (small project)5.11 ms (p95 6.67 ms)5.79 ms (p95 7.25 ms)1.132ok
bun install offline (warm cache)3.24 ms (p95 3.91 ms)3.58 ms (p95 4.03 ms)1.102ok
RSS at startup17.3 MiB (p95 17.4 MiB)32.7 MiB (p95 32.7 MiB)1.893info
RSS after loading node:* modules28.0 MiB (p95 31.2 MiB)41.5 MiB (p95 44.1 MiB)1.481info
require of node:* modules37.5 ms (p95 39.2 ms)36.1 ms (p95 39.5 ms)0.963ok
import() of node:* modules37.6 ms (p95 39.7 ms)36.5 ms (p95 39.3 ms)0.970ok
require of bun:* modules1.31 ms (p95 1.73 ms)1.38 ms (p95 1.52 ms)1.053ok
Bun.serve hello + first request1.64 ms (p95 1.78 ms)1.73 ms (p95 1.89 ms)1.054ok
local fetch latency (p50)0.11 ms (p95 0.13 ms)0.12 ms (p95 0.14 ms)1.077ok
local fetch latency (p99)0.16 ms (p95 0.18 ms)0.17 ms (p95 0.19 ms)1.032info
local fetch, sequential throughput8,485 req/s (p95 9,552 req/s)8,208 req/s (p95 10,272 req/s)1.034info
require of fork-only modules (fork only)n/a4.23 ms (p95 4.88 ms)info
Binary size75.8 MiB84.8 MiB1.118ok

Run note: Release upstream bun-v1.4.3 absente : repli sur bun-v1.4.2. Versions de base différentes (fork 1.4.3-aphrody.2, upstream 1.4.2) : l'écart inclut le travail amont entre les deux; taille et RSS ne bloquent pas (--strict pour les imposer).

windows-x64

Fork 1.4.3-aphrody.2 (f7a7086b6) against upstream 1.4.2 (744846f84) on win32 10.0.26100 x64, AMD EPYC 9V45 96-Core Processor x4, 16 GiB; 40 runs, 5 warmup, engine hyperfine, measured 2026-10-09T02:30:06.789Z. Median (p95); ratio = fork / upstream, lower is faster for times.

MeasureUpstreamForkRatioGate
bun --version4.09 ms (p95 4.29 ms)4.06 ms (p95 4.20 ms)0.994ok
bun -e ''4.06 ms (p95 4.20 ms)4.07 ms (p95 4.43 ms)1.002ok
bun run (empty script)10.1 ms (p95 12.3 ms)11.2 ms (p95 12.0 ms)1.108ok
bun test (one empty test)10.6 ms (p95 12.1 ms)11.6 ms (p95 12.2 ms)1.089ok
bun build (small project)8.85 ms (p95 9.37 ms)9.08 ms (p95 9.34 ms)1.027ok
bun install offline (warm cache)26.5 ms (p95 38.2 ms)19.6 ms (p95 32.3 ms)0.739ok
RSS at startup15.4 MiB (p95 15.4 MiB)18.5 MiB (p95 18.5 MiB)1.196info
RSS after loading node:* modules23.6 MiB (p95 23.6 MiB)27.3 MiB (p95 27.3 MiB)1.155info
require of node:* modules25.5 ms (p95 26.5 ms)25.3 ms (p95 26.3 ms)0.994ok
import() of node:* modules26.8 ms (p95 31.1 ms)26.5 ms (p95 34.6 ms)0.989ok
require of bun:* modules1.03 ms (p95 1.16 ms)1.08 ms (p95 1.27 ms)1.050ok
Bun.serve hello + first request4.08 ms (p95 4.34 ms)4.26 ms (p95 4.87 ms)1.044ok
local fetch latency (p50)0.03 ms (p95 0.04 ms)0.03 ms (p95 0.04 ms)1.015ok
local fetch latency (p99)0.09 ms (p95 0.17 ms)0.10 ms (p95 0.24 ms)1.093info
local fetch, sequential throughput27,999 req/s (p95 29,901 req/s)26,055 req/s (p95 27,541 req/s)1.075info
require of fork-only modules (fork only)n/a3.33 ms (p95 3.96 ms)info
Binary size82.1 MiB91.8 MiB1.118ok

Run note: Release upstream bun-v1.4.3 absente : repli sur bun-v1.4.2. Versions de base différentes (fork 1.4.3-aphrody.2, upstream 1.4.2) : l'écart inclut le travail amont entre les deux; taille et RSS ne bloquent pas (--strict pour les imposer).

What is measured

Thresholds live in bench/aphrody/thresholds.json: a case fails when the runtime median exceeds upstream by more than its ratio and its absolute delta.

Run it yourself

git clone https://github.com/aphrody-labs/bun && cd bun
# runtime binary against the upstream release of the same base version
bun scripts/aphrody/perf-gate.ts --fork ~/.bun/bin/bun --upstream-version 1.4.3 --runs 40 --out tmp/perf

The report is written to tmp/perf/perf-report.md and perf-report.json. The upstream micro-benchmarks of bench/ run with cd bench && bun install && bun run <name>.