From 9b310cd7062cbebff808c8c9415a490e74169c47 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 13 Apr 2026 07:19:45 +0000 Subject: [PATCH 1/2] docs: update build performance benchmarks (3.9.3) --- README.md | 16 +- generated/benchmarks/BUILD-BENCHMARKS.md | 995 ++++++++++++++++++++++- 2 files changed, 979 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index d4d2b231..294e9034 100644 --- a/README.md +++ b/README.md @@ -617,17 +617,17 @@ Codegraph also extracts symbols from common callback patterns: Commander `.comma Self-measured on every release via CI ([build benchmarks](generated/benchmarks/BUILD-BENCHMARKS.md) | [embedding benchmarks](generated/benchmarks/EMBEDDING-BENCHMARKS.md) | [query benchmarks](generated/benchmarks/QUERY-BENCHMARKS.md) | [incremental benchmarks](generated/benchmarks/INCREMENTAL-BENCHMARKS.md) | [resolution precision/recall](tests/benchmarks/resolution/)): -*Last updated: v3.9.2 (2026-04-09)* +*Last updated: v3.9.3 (2026-04-13)* | Metric | Native | WASM | |---|---|---| -| Build speed | **15.7 ms/file** | **15 ms/file** | -| Query time | **27ms** | **40ms** | -| No-op rebuild | **9ms** | **20ms** | -| 1-file rebuild | **558ms** | **624ms** | -| Query: fn-deps | **2.3ms** | **2.4ms** | -| Query: path | **2.5ms** | **2.4ms** | -| ~50,000 files (est.) | **~785.0s build** | **~750.0s build** | +| Build speed | **3.3 ms/file** | **15.9 ms/file** | +| Query time | **30ms** | **42ms** | +| No-op rebuild | **11ms** | **22ms** | +| 1-file rebuild | **397ms** | **638ms** | +| Query: fn-deps | **2.5ms** | **2.4ms** | +| Query: path | **2.5ms** | **2.3ms** | +| ~50,000 files (est.) | **~165.0s build** | **~795.0s build** | | Resolution precision | **90.7%** | — | | Resolution recall | **42.9%** | — | diff --git a/generated/benchmarks/BUILD-BENCHMARKS.md b/generated/benchmarks/BUILD-BENCHMARKS.md index 8442460f..def2ba7a 100644 --- a/generated/benchmarks/BUILD-BENCHMARKS.md +++ b/generated/benchmarks/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) | |---------|--------|------|------:|----------------:|-----------:|-----------:|-----------:|----------------:| +| 3.9.3 | native | 2026-04-13 | 727 | 3.3 ↓79% | 29.5 ↑11% | 25.4 ~ | 51.6 ~ | 43981 ↑7% | +| 3.9.3 | wasm | 2026-04-13 | 727 | 15.9 ↑6% | 41.6 ↑4% | 24.1 ~ | 49.3 ~ | 38380 ~ | | 3.9.2 | native | 2026-04-09 | 727 | 15.7 ↑54% | 26.6 ↑14% | 25.3 ↓10% | 51.4 ↓10% | 41028 ↓15% | | 3.9.2 | wasm | 2026-04-09 | 727 | 15 ↑9% | 40.1 ↑13% | 24 ↓15% | 49.2 ↓14% | 38256 ↓16% | | 3.9.1 | native | 2026-04-06 | 570 | 10.2 ↓20% | 23.4 ↓23% | 28.1 ↑3% | 56.9 ↑5% | 48433 ↑8% | @@ -61,38 +63,38 @@ Metrics are normalized per file for cross-version comparability. | Metric | Value | |--------|-------| -| Build time | 10.5s | -| Query time | 27ms | -| Nodes | 16,879 | -| Edges | 34,281 | -| DB size | 26.1 MB | +| Build time | 2.2s | +| Query time | 30ms | +| Nodes | 16,938 | +| Edges | 34,396 | +| DB size | 28.0 MB | | Files | 727 | #### WASM | Metric | Value | |--------|-------| -| Build time | 10.9s | -| Query time | 40ms | -| Nodes | 17,438 | -| Edges | 35,744 | -| DB size | 26.5 MB | +| Build time | 11.6s | +| Query time | 42ms | +| Nodes | 17,497 | +| Edges | 35,859 | +| DB size | 26.6 MB | | Files | 727 | ### Build Phase Breakdown (latest) | Phase | Native (build) | WASM (build) | Native (1-file) | WASM (1-file) | |-------|---------------:|-------------:|----------------:|--------------:| -| Parse | 600.1 ms | 4898.5 ms | 53.4 ms | 263.4 ms | -| Insert nodes | 363.1 ms | 989.5 ms | 25.9 ms | 21.6 ms | -| Resolve imports | 3.6 ms | 18.6 ms | 0.7 ms | 2 ms | -| Build edges | 196.8 ms | 272.5 ms | 30.1 ms | 32.9 ms | -| Structure | 111 ms | 754.4 ms | 121.4 ms | 39.4 ms | -| Roles | 76.4 ms | 91.6 ms | 76.2 ms | 81.6 ms | -| AST nodes | 1436.3 ms | 756.4 ms | 26 ms | 0.8 ms | -| Complexity | 596.4 ms | 1002.4 ms | 3.2 ms | 0.7 ms | -| CFG | 1464.2 ms | 1069.7 ms | 53.5 ms | 0.4 ms | -| Dataflow | 932.4 ms | 844.9 ms | 30.6 ms | 0.7 ms | +| Parse | 601.2 ms | 5094.5 ms | 51.8 ms | 265.7 ms | +| Insert nodes | 374.9 ms | 919.7 ms | 30.6 ms | 21.1 ms | +| Resolve imports | 4.1 ms | 26.8 ms | 1 ms | 2.1 ms | +| Build edges | 208.6 ms | 327.7 ms | 31.2 ms | 33.1 ms | +| Structure | 122.4 ms | 998.9 ms | 124.6 ms | 38.8 ms | +| Roles | 95.5 ms | 99.1 ms | 105 ms | 84.9 ms | +| AST nodes | 244 ms | 804.2 ms | 0.6 ms | 0.6 ms | +| Complexity | 20.3 ms | 1026.3 ms | 0.8 ms | 0.6 ms | +| CFG | 186.3 ms | 1109 ms | 1.6 ms | 0.3 ms | +| Dataflow | 165.6 ms | 885.1 ms | 0.1 ms | 0.6 ms | ### Estimated performance at 50,000 files @@ -100,15 +102,17 @@ Extrapolated linearly from per-file metrics above. | Metric | Native (Rust) | WASM | |--------|---:|---:| -| Build time | 785.0s | 750.0s | -| DB size | 1956.4 MB | 1824.2 MB | -| Nodes | 1,265,000 | 1,200,000 | -| Edges | 2,570,000 | 2,460,000 | +| Build time | 165.0s | 795.0s | +| DB size | 2097.2 MB | 1830.1 MB | +| Nodes | 1,270,000 | 1,205,000 | +| Edges | 2,580,000 | 2,465,000 | ### Incremental Rebuilds | Version | Engine | No-op (ms) | 1-file (ms) | |---------|--------|----------:|-----------:| +| 3.9.3 | native | 11 ↑22% | 397 ↓29% | +| 3.9.3 | wasm | 22 ↑10% | 638 ↑2% | | 3.9.2 | native | 9 ↓47% | 558 ↓27% | | 3.9.2 | wasm | 20 ↑33% | 624 ↓2% | | 3.9.1 | native | 17 ↑113% | 767 ↑36% | @@ -157,6 +161,8 @@ Extrapolated linearly from per-file metrics above. | Version | Engine | fn-deps (ms) | fn-impact (ms) | path (ms) | roles (ms) | |---------|--------|------------:|--------------:|----------:|----------:| +| 3.9.3 | native | 2.5 ↑9% | 2.5 ↑4% | 2.5 ~ | 41.3 ↑24% | +| 3.9.3 | wasm | 2.4 ~ | 2.4 ~ | 2.3 ↓4% | 34.5 ↓3% | | 3.9.2 | native | 2.3 ↑5% | 2.4 ↑4% | 2.5 ↑14% | 33.2 ↑30% | | 3.9.2 | wasm | 2.4 ↑9% | 2.4 ↑9% | 2.4 ↑9% | 35.4 ↑35% | | 3.9.1 | native | 2.2 ↑5% | 2.3 ↑5% | 2.2 ~ | 25.5 ~ | @@ -258,6 +264,947 @@ pre-parse that previously added ~388ms on native builds.