Skip to content

Latest commit

 

History

History
1564 lines (1546 loc) · 38.3 KB

File metadata and controls

1564 lines (1546 loc) · 38.3 KB

Codegraph Incremental Build Benchmarks

Self-measured on every release by running codegraph on its own codebase. Build tiers: full (cold), no-op (nothing changed), 1-file (single file modified). Import resolution: native batch vs JS fallback throughput.

Version Engine Files Full Build No-op 1-File Resolve (native) Resolve (JS)
3.15.0 native 629 3.5s ↑17% 24ms ↓4% 117ms ↑8% 6ms ~ 10ms ↓3%
3.15.0 wasm 629 12.2s ↓14% 23ms ↓4% 113ms ↑55% 6ms ~ 10ms ↓3%
3.13.0 native 695 3.0s ↑7% 25ms ↑9% 108ms ↓6% 6ms ↑11% 10ms ↑16%
3.13.0 wasm 695 14.2s ↑23% 24ms ↑9% 73ms ↑7% 6ms ↑11% 10ms ↑16%
3.12.0 native 670 2.8s ↑26% 23ms ↑21% 115ms ↑39% 5ms ↓7% 9ms ↓17%
3.12.0 wasm 670 11.5s ↑22% 22ms ↑16% 68ms ↑15% 5ms ↓7% 9ms ↓17%
3.11.2 native 628 2.2s ~ 19ms ↑6% 83ms ↑4% 6ms ↓3% 10ms ↑3%
3.11.2 wasm 628 9.4s ~ 19ms ↑12% 59ms ↓5% 6ms ↓3% 10ms ↑3%
3.11.1 native 625 2.2s ~ 18ms ↑20% 80ms ↑25% 6ms ↑43% 10ms ↑27%
3.11.1 wasm 625 9.4s ↑23% 17ms ↑13% 62ms ↑22% 6ms ↑43% 10ms ↑27%
3.11.0 native 623 2.3s ↑16% 15ms ~ 64ms ↓3% 4ms ↓21% 8ms ↑22%
3.11.0 wasm 623 7.7s ↓9% 15ms ↑15% 51ms ~ 4ms ↓21% 8ms ↑22%
3.10.0 native 745 2.0s ↓34% 15ms ↑50% 66ms ↑22% 5ms ↓18% 7ms ↓38%
3.10.0 wasm 745 8.4s ↓40% 13ms ↓90% 51ms ↓18% 5ms ↓18% 7ms ↓38%
3.9.6 native 744 3.0s ↑39% 10ms ↑11% 54ms ↓87% 7ms ~ 11ms ↑7%
3.9.6 wasm 744 14.0s ↑86% 131ms ↑589% 62ms ~ 7ms ~ 11ms ↑7%
3.9.4 native 668 2.1s ↓4% 9ms ~ 406ms ↑7% 6ms ↑7% 9ms ↓15%
3.9.4 wasm 668 7.6s ~ 19ms ↑6% 61ms ↓90% 6ms ↑7% 9ms ↓15%
3.9.3 native 667 2.2s ↓76% 9ms ↑13% 380ms ↓32% 6ms ↓5% 11ms ↑6%
3.9.3 wasm 667 7.5s ↑3% 18ms ↑6% 635ms ↑6% 6ms ↓5% 11ms ↑6%
3.9.2 native 667 9.4s ↑81% 8ms ↓47% 555ms ↓27% 6ms ↓17% 11ms ↓14%
3.9.2 wasm 667 7.2s ↑4% 17ms ↑21% 598ms ~ 6ms ↓17% 11ms ↓14%
3.9.1 native 570 5.2s ↓20% 15ms ↑150% 757ms ↑44% 7ms ↑37% 12ms ↑13%
3.9.1 wasm 570 6.9s ↑2% 14ms ↑17% 603ms ↑11% 7ms ↑37% 12ms ↑13%
3.9.0 native 567 6.5s ~ 6ms ↓25% 527ms ↑1185% 5ms ↓18% 11ms ~
3.9.0 wasm 567 6.8s ↓3% 12ms ↓20% 541ms ↓10% 5ms ↓18% 11ms ~
3.8.1 native 565 6.6s ↑468% 8ms ↑14% 41ms ↑24% 6ms ↑51% 11ms ↓14%
3.8.1 wasm 565 7.0s ↑493% 15ms ↑88% 603ms ↑1727% 6ms ↑51% 11ms ↓14%
3.8.0 native 564 1.2s ↓50% 7ms ↓46% 33ms ↓90% 4ms ↑2% 12ms ↓19%
3.8.0 wasm 564 1.2s ↓82% 8ms ↓58% 33ms ↓94% 4ms ↑2% 12ms ↓19%
3.7.0 wasm 532 6.4s ↑5% 19ms ↑46% 558ms ↑2% 4ms ↑3% 15ms ↑31%
3.6.0 wasm 514 6.1s ↑20% 13ms ~ 545ms ↑7% 4ms ↓3% 12ms ↑9%
3.4.1 native 473 2.4s ↑3% 13ms ↑8% 331ms ↓26% 4ms ~ 13ms ↑8%
3.4.1 wasm 473 5.1s ~ 13ms ↑8% 511ms ↓17% 4ms ~ 13ms ↑8%
3.4.0 native 473 2.3s ↓4% 12ms ↑9% 448ms ↑29% 4ms ↓58% 12ms ↓54%
3.4.0 wasm 473 5.0s ↑15% 12ms ↑20% 617ms ↑21% 4ms ↓58% 12ms ↓54%
3.3.1 native 442 2.4s ↓22% 11ms ↑10% 346ms ↓17% 9ms ↓6% 26ms ~
3.3.1 wasm 442 4.4s ↑2% 10ms ↓9% 508ms ↑6% 9ms ↓6% 26ms ~
3.3.0 native 429 3.0s ↑141% 10ms ↑67% 417ms ↑74% 10ms ↑700% 26ms ↑888%
3.3.0 wasm 429 4.3s ↑29% 11ms ~ 479ms ↑41% 10ms ↑700% 26ms ↑888%
3.1.4 native 398 1.3s ↑9% 6ms ~ 240ms ↓11% 1ms ↓37% 3ms ↓45%
3.1.4 wasm 398 3.3s ↑10% 11ms ↑83% 340ms ↓28% 1ms ↓37% 3ms ↓45%
3.1.3 native 236 1.2s ~ 6ms ↑20% 271ms ↑3% 2ms ↓5% 5ms ~
3.1.3 wasm 236 3.0s ↑3% 6ms ~ 473ms ↓3% 2ms ↓5% 5ms ~
3.1.2 native 235 1.2s ↑6% 5ms ~ 264ms ↓20% 2ms ↓9% 5ms ↑12%
3.1.2 wasm 235 2.9s ~ 6ms ~ 488ms ↓9% 2ms ↓9% 5ms ↑12%
3.1.0 native 180 1.1s ↑7% 5ms ↓98% 329ms ↓3% 2ms ↓39% 4ms ↑5%
3.1.0 wasm 180 2.9s ↑13% 6ms ↑20% 536ms ↓6% 2ms ↓39% 4ms ↑5%
3.0.4 native 177 1.0s ↓41% 319ms ↑7875% 338ms ↓2% 4ms ↑6% 4ms ~
3.0.4 wasm 177 2.5s ↑6% 5ms ~ 568ms ↑12% 4ms ↑6% 4ms ~
3.0.3 native 172 1.8s ↓9% 4ms ↓20% 346ms ~ 3ms ↓3% 4ms ↓7%
3.0.3 wasm 172 2.4s ↓6% 5ms ↓17% 505ms ~ 3ms ↓3% 4ms ↓7%
3.0.2 native 172 1.9s ↓17% 5ms ↑25% 349ms ↓62% 4ms ↓3% 4ms ↑7%
3.0.2 wasm 172 2.5s ↓23% 6ms ~ 515ms ↓50% 4ms ↓3% 4ms ↑7%
3.0.1 native 165 2.3s ↑223% 4ms ↓20% 928ms ↑186% 4ms ↑3% 4ms ↓7%
3.0.1 wasm 165 3.3s ↑62% 6ms ↑20% 1.0s ↓4% 4ms ↑3% 4ms ↓7%
3.0.0 native 164 721ms ↑152% 5ms ↑25% 325ms ↑141% 4ms ↑21% 4ms ↑30%
3.0.0 wasm 164 2.0s ↑128% 5ms ↑25% 1.1s ↑112% 4ms ↑21% 4ms ↑30%
2.6.0 native 146 286ms ↑3% 4ms ↓33% 135ms ↑5% 3ms ~ 3ms ↓3%
2.6.0 wasm 146 899ms ~ 4ms ↓20% 503ms ↑37% 3ms ~ 3ms ↓3%
2.5.1 native 142 277ms 6ms 129ms 3ms 3ms
2.5.1 wasm 142 888ms 5ms 368ms 3ms 3ms

Latest results

Version: 3.15.0 | Files: 629 | Date: 2026-06-23

Native (Rust)

Metric Value
Full build 3.5s
No-op rebuild 24ms
1-file rebuild 117ms
1-file rebuild phase breakdown (native)
Phase Time
setup 5ms
collect 7ms
detect 3ms
parse 0ms
insert 0ms
resolve 0ms
edges 5ms
structure 4ms
roles 18ms
gap detect + backfill 39ms
CHA expansion 4ms
this/super dispatch 2ms
role reclassify 0ms
technique backfill 1ms
ast 0ms
complexity 0ms
cfg 0ms
dataflow 0ms
finalize 0ms

WASM

Metric Value
Full build 12.2s
No-op rebuild 23ms
1-file rebuild 113ms
1-file rebuild phase breakdown (wasm)
Phase Time
setup 5ms
collect 16ms
detect 56ms
parse 2ms
insert 0ms
resolve 1ms
edges 7ms
structure 3ms
roles 16ms
ast 1ms
complexity 1ms
cfg 0ms
dataflow 1ms
finalize 0ms

Import Resolution

Metric Value
Import pairs 1059
Native batch 6ms
JS fallback 10ms
Per-import (native) 0ms
Per-import (JS) 0ms
Speedup ratio 1.6x

Note (3.9.5): No build/rebuild metrics for this release (both engines null) — only import resolution data was collected. Both the WASM and native workers reached the 1-file rebuild phase and then hung past the benchmark's 10-minute per-engine timeout (see scripts/lib/fork-engine.ts), so each was killed (SIGKILL) before returning results. Import resolution is unaffected because it runs in the parent process and doesn't depend on the full build. 3.9.5 is consequently absent from the top-level version-history comparison table since there are no build-time figures to compare against prior releases. The workflow run is here; the root cause will be investigated and the numbers backfilled in a follow-up if possible.