From 8822ec3260740a847e0d53d2f5c60e092b704b98 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 28 Feb 2026 07:08:29 +0000 Subject: [PATCH] docs: update build performance benchmarks (2.5.0) --- README.md | 12 ++-- generated/BUILD-BENCHMARKS.md | 110 +++++++++++++++++++++++++++++++--- 2 files changed, 109 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index bb017413..c0b8866d 100644 --- a/README.md +++ b/README.md @@ -423,12 +423,14 @@ Self-measured on every release via CI ([build benchmarks](generated/BUILD-BENCHM | Metric | Latest | |---|---| -| Build speed | **5.1 ms/file** | +| Build speed (native) | **2 ms/file** | +| Build speed (WASM) | **8.4 ms/file** | | Query time | **2ms** | -| No-op rebuild | **5ms** | -| 1-file rebuild | **192ms** | -| Query: fn-deps | **0.5ms** | -| ~50,000 files (est.) | **~255.0s build** | +| No-op rebuild (native) | **4ms** | +| 1-file rebuild (native) | **97ms** | +| Query: fn-deps | **2.1ms** | +| Query: path | **1.2ms** | +| ~50,000 files (est.) | **~100.0s build** | Metrics are normalized per file for cross-version comparability. Times above are for a full initial build — incremental rebuilds only re-parse changed files. diff --git a/generated/BUILD-BENCHMARKS.md b/generated/BUILD-BENCHMARKS.md index 20c60dba..c5887ad8 100644 --- a/generated/BUILD-BENCHMARKS.md +++ b/generated/BUILD-BENCHMARKS.md @@ -5,6 +5,8 @@ Metrics are normalized per file for cross-version comparability. | Version | Engine | Date | Files | Build (ms/file) | Query (ms) | Nodes/file | Edges/file | DB (bytes/file) | |---------|--------|------|------:|----------------:|-----------:|-----------:|-----------:|----------------:| +| 2.5.0 | native | 2026-02-28 | 123 | 2 | 2.4 | 6.5 | 11.1 | 5595 | +| 2.5.0 | wasm | 2026-02-28 | 123 | 8.4 ↑65% | 3.5 ↑59% | 6.5 ~ | 11.1 ↑4% | 5595 ↑19% | | 2.4.0 | wasm | 2026-02-28 | 123 | 5.1 ↓23% | 2.2 ↑5% | 6.5 ↑12% | 10.7 ↑18% | 4695 ↑22% | | 2.3.0 | native | 2026-02-24 | 99 | 1.9 ~ | 1.5 ↑7% | 5.8 ↑7% | 9.1 ~ | 3848 ~ | | 2.3.0 | wasm | 2026-02-24 | 99 | 6.6 ~ | 2.1 ↑11% | 5.8 ~ | 9.1 ↑3% | 3848 ~ | @@ -15,38 +17,65 @@ Metrics are normalized per file for cross-version comparability. ### Raw totals (latest) -#### WASM +#### Native (Rust) | Metric | Value | |--------|-------| -| Build time | 630ms | +| Build time | 241ms | | Query time | 2ms | | Nodes | 801 | -| Edges | 1,320 | -| DB size | 564 KB | +| Edges | 1,365 | +| DB size | 672 KB | +| Files | 123 | + +#### WASM + +| Metric | Value | +|--------|-------| +| Build time | 1.0s | +| Query time | 4ms | +| Nodes | 801 | +| Edges | 1,365 | +| DB size | 672 KB | | Files | 123 | +### Build Phase Breakdown (latest) + +| Phase | Native | WASM | +|-------|-------:|-----:| +| Parse | 133 ms | 655.7 ms | +| Insert nodes | 13 ms | 18.8 ms | +| Resolve imports | 9.7 ms | 13 ms | +| Build edges | 57.4 ms | 62.8 ms | +| Structure | 3.8 ms | 10.2 ms | +| Roles | 5.3 ms | 8.5 ms | +| Complexity | 5.1 ms | 240.7 ms | + ### Estimated performance at 50,000 files Extrapolated linearly from per-file metrics above. | Metric | Native (Rust) | WASM | |--------|---:|---:| -| Build time | n/a | 255.0s | -| DB size | n/a | 223.9 MB | -| Nodes | n/a | 325,000 | -| Edges | n/a | 535,000 | +| Build time | 100.0s | 420.0s | +| DB size | 266.8 MB | 266.8 MB | +| Nodes | 325,000 | 325,000 | +| Edges | 555,000 | 555,000 | ### Incremental Rebuilds | Version | Engine | No-op (ms) | 1-file (ms) | |---------|--------|----------:|-----------:| +| 2.5.0 | native | 4 | 97 | +| 2.5.0 | wasm | 4 ↓20% | 324 ↑69% | | 2.4.0 | wasm | 5 | 192 | ### Query Latency | Version | Engine | fn-deps (ms) | fn-impact (ms) | path (ms) | roles (ms) | |---------|--------|------------:|--------------:|----------:|----------:| +| 2.5.0 | native | 2.1 | 1.6 | 1.2 | 1.1 | +| 2.5.0 | wasm | 2.2 ↑340% | 1.6 ↑220% | 1.2 | 1.1 ↑22% | | 2.4.0 | wasm | 0.5 | 0.5 | null | 0.9 | @@ -71,6 +100,71 @@ extractor is needed to recover the regression.