@@ -644,41 +644,41 @@ Codegraph also extracts symbols from common callback patterns: Commander `.comma
644644
645645Self-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/ ) ):
646646
647- * Last updated: v3.15 .0 (2026-06-23 )*
647+ * Last updated: v3.16 .0 (2026-07-20 )*
648648
649649| Metric | Native | WASM |
650650| ---| ---| ---|
651- | Build speed | ** 5.8 ms/file** | ** 26.2 ms/file** |
652- | Query time | ** 33ms ** | ** 47ms ** |
653- | No-op rebuild | ** 24ms ** | ** 24ms ** |
654- | 1-file rebuild | ** 117ms ** | ** 112ms ** |
655- | Query: fn-deps | ** 2.4ms ** | ** 2 .2ms** |
656- | Query: path | ** 2.4ms ** | ** 2.1ms ** |
657- | ~ 50,000 files (est.) | ** ~ 290 .0s build** | ** ~ 1310 .0s build** |
658- | Resolution precision | ** 93.6 %** | — |
659- | Resolution recall | ** 64 .7%** | — |
651+ | Build speed | ** 6.9 ms/file** | ** 24.4 ms/file** |
652+ | Query time | ** 9ms ** | ** 12ms ** |
653+ | No-op rebuild | ** 29ms ** | ** 29ms ** |
654+ | 1-file rebuild | ** 193ms ** | ** 213ms ** |
655+ | Query: fn-deps | ** 9.7ms ** | ** 11 .2ms** |
656+ | Query: path | ** 12.8ms ** | ** 11.9ms ** |
657+ | ~ 50,000 files (est.) | ** ~ 345 .0s build** | ** ~ 1220 .0s build** |
658+ | Resolution precision | ** 94.9 %** | — |
659+ | Resolution recall | ** 66 .7%** | — |
660660
661661Metrics are normalized per file for cross-version comparability. Times above are for a full initial build — incremental rebuilds only re-parse changed files.
662662
663663<details ><summary >Per-language resolution precision/recall</summary >
664664
665665| Language | Precision | Recall | TP | FP | FN | Edges | Dynamic |
666666| ----------| ----------:| -------:| ---:| ---:| ---:| ------:| --------:|
667- | javascript | 100.0% | 100.0% | 42 | 0 | 0 | 42 | 14 /32 |
668- | typescript | 95.9 % | 100.0% | 47 | 2 | 0 | 47 | — |
667+ | javascript | 100.0% | 100.0% | 47 | 0 | 0 | 47 | 17 /32 |
668+ | typescript | 100.0 % | 100.0% | 55 | 0 | 0 | 55 | — |
669669| bash | 100.0% | 100.0% | 12 | 0 | 0 | 12 | 0/1 |
670670| c | 100.0% | 100.0% | 9 | 0 | 0 | 9 | — |
671671| clojure | 80.0% | 26.7% | 4 | 1 | 11 | 15 | — |
672672| cpp | 100.0% | 57.1% | 8 | 0 | 6 | 14 | — |
673- | csharp | 100.0% | 100.0% | 23 | 0 | 0 | 23 | — |
673+ | csharp | 100.0% | 100.0% | 25 | 0 | 0 | 25 | — |
674674| cuda | 50.0% | 33.3% | 4 | 4 | 8 | 12 | — |
675- | dart | 0.0% | 0.0% | 0 | 0 | 18 | 18 | — |
675+ | dart | 0.0% | 0.0% | 0 | 0 | 21 | 21 | — |
676676| dynamic-groovy | 100.0% | 100.0% | 1 | 0 | 0 | 1 | — |
677677| dynamic-java | 100.0% | 100.0% | 1 | 0 | 0 | 1 | — |
678678| dynamic-javascript | 100.0% | 100.0% | 4 | 0 | 0 | 4 | — |
679679| dynamic-kotlin | 100.0% | 100.0% | 3 | 0 | 0 | 3 | — |
680680| dynamic-scala | 100.0% | 100.0% | 1 | 0 | 0 | 1 | — |
681- | dynamic-typescript | 100.0% | 100.0% | 3 | 0 | 0 | 3 | — |
681+ | dynamic-typescript | 100.0% | 100.0% | 4 | 0 | 0 | 4 | — |
682682| elixir | 100.0% | 81.0% | 17 | 0 | 4 | 21 | — |
683683| erlang | 100.0% | 100.0% | 12 | 0 | 0 | 12 | — |
684684| fsharp | 0.0% | 0.0% | 0 | 11 | 12 | 12 | — |
@@ -687,36 +687,36 @@ Metrics are normalized per file for cross-version comparability. Times above are
687687| groovy | 100.0% | 7.7% | 1 | 0 | 12 | 13 | — |
688688| haskell | 100.0% | 33.3% | 4 | 0 | 8 | 12 | — |
689689| hcl | 0.0% | 0.0% | 0 | 0 | 2 | 2 | — |
690- | java | 100.0% | 80 .0% | 16 | 0 | 4 | 20 | — |
690+ | java | 100.0% | 81 .0% | 17 | 0 | 4 | 21 | — |
691691| julia | 100.0% | 73.3% | 11 | 0 | 4 | 15 | — |
692692| kotlin | 92.3% | 63.2% | 12 | 1 | 7 | 19 | — |
693693| lua | 100.0% | 15.4% | 2 | 0 | 11 | 13 | — |
694694| objc | 100.0% | 46.2% | 6 | 0 | 7 | 13 | — |
695695| ocaml | 100.0% | 8.3% | 1 | 0 | 11 | 12 | — |
696- | php | 100.0% | 57.9 % | 11 | 0 | 8 | 19 | — |
697- | pts-javascript | 100.0% | 100.0% | 13 | 0 | 0 | 13 | — |
698- | python | 100.0% | 60.0 % | 9 | 0 | 6 | 15 | 15/15 |
696+ | php | 100.0% | 65.2 % | 15 | 0 | 8 | 23 | — |
697+ | pts-javascript | 100.0% | 100.0% | 15 | 0 | 0 | 15 | — |
698+ | python | 100.0% | 68.4 % | 13 | 0 | 6 | 19 | 15/15 |
699699| r | 100.0% | 100.0% | 11 | 0 | 0 | 11 | — |
700700| ruby | 100.0% | 100.0% | 11 | 0 | 0 | 11 | 11/11 |
701- | rust | 100.0% | 64 .3% | 9 | 0 | 5 | 14 | — |
701+ | rust | 100.0% | 83 .3% | 20 | 0 | 4 | 24 | 23/23 |
702702| scala | 100.0% | 100.0% | 7 | 0 | 0 | 7 | — |
703703| solidity | 33.3% | 7.7% | 1 | 2 | 12 | 13 | — |
704704| swift | 81.8% | 64.3% | 9 | 2 | 5 | 14 | 9/9 |
705705| tsx | 100.0% | 100.0% | 13 | 0 | 0 | 13 | — |
706706| verilog | 0.0% | 0.0% | 0 | 0 | 4 | 4 | — |
707- | zig | 66.7 % | 13.3% | 2 | 1 | 13 | 15 | — |
707+ | zig | 100.0 % | 13.3% | 2 | 0 | 13 | 15 | — |
708708
709709** By resolution mode (all languages):**
710710
711711| Mode | Resolved | Expected | Recall |
712712| ------| --------:| ---------:| -------:|
713- | receiver-typed | 35 | 112 | 31 .3% |
714- | module-function | 46 | 112 | 41.1 % |
713+ | receiver-typed | 39 | 117 | 33 .3% |
714+ | module-function | 49 | 115 | 42.6 % |
715715| static | 82 | 97 | 84.5% |
716- | same-file | 68 | 90 | 75.6 % |
717- | interface-dispatched | 22 | 22 | 100.0% |
718- | dynamic | 16 | 16 | 100.0% |
719- | class-inheritance | 8 | 12 | 66.7 % |
716+ | same-file | 69 | 91 | 75.8 % |
717+ | interface-dispatched | 24 | 24 | 100.0% |
718+ | dynamic | 17 | 17 | 100.0% |
719+ | class-inheritance | 12 | 16 | 75.0 % |
720720| callback | 7 | 7 | 100.0% |
721721| pts-spread | 4 | 4 | 100.0% |
722722| pts-define-property | 3 | 3 | 100.0% |
@@ -726,7 +726,8 @@ Metrics are normalized per file for cross-version comparability. Times above are
726726| pts-for-of | 2 | 2 | 100.0% |
727727| pts-set | 2 | 2 | 100.0% |
728728| pts-array-from | 2 | 2 | 100.0% |
729- | trait-dispatch | 0 | 2 | 0.0% |
729+ | pts-dispatch-table | 2 | 2 | 100.0% |
730+ | trait-dispatch | 2 | 2 | 100.0% |
730731| define-property | 1 | 1 | 100.0% |
731732| defineProperty-accessor | 1 | 1 | 100.0% |
732733| package-function | 1 | 1 | 100.0% |
0 commit comments