Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 26 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,40 +66,41 @@ Inspired by [GitNexus](https://github.com/abhigyanpatwari/GitNexus) by [Abhigyan

Head-to-head against two other code-graph tools — [`codegraph`](https://github.com/colbymchenry/codegraph) (Node + SQLite) and upstream [`gitnexus`](https://github.com/abhigyanpatwari/GitNexus) (Node) — on the same checkouts, same machine. `ecp` is a stateless one-shot CLI: every latency below **includes full process startup**, no daemon, no warm-up.

*Versions: `ecp` 0.4.2 · `codegraph` 0.9.4 · `gitnexus` 1.6.5. All tools capped at a 1 MiB max-file-size threshold where configurable (`gitnexus` hard-codes 512 KB). `ecp` medians over 5–7 runs. Hardware: AMD Ryzen 9 9950X (16 logical), Linux.*
*Versions: `ecp` 0.16.2 · `codegraph` 1.6.2 · `gitnexus` 1.6.12, measured 2026-10-22. All three capped at 1 MiB per file. Every run pinned to 8 logical cores (`taskset -c 0-7`) on an AMD Ryzen 9 9950X, Linux (WSL2). Cold-index ratios come from interleaved runs; `ecp` index medians over 5 runs, queries over 7.*

### `microsoft/vscode` — 14,874 files, dense single-language TypeScript
### `microsoft/vscode` — 14,854 files, dense single-language TypeScript

| Metric | **`ecp`** | `codegraph` | `gitnexus` |
|---|---|---|---|
| **Cold index** | **4.6 s** | 166.9 s | **DNF** — killed at 27 min |
| Peak RSS | **~1.0 GiB** | 1.7 GiB | 4.6 GiB (still climbing) |
| Symbol find / query | **34.6 ms** | 169.5 ms | — |
| Callers / impact | **27.2 ms** | 172.4 ms | — |
| Inspect / context | **35.0 ms** | 415.9 ms | — |
| Impact baseline (git-diff) | **725.9 ms** | N/A — no such mode | — |
| Graph nodes | **507,257** | 315,498 | — |
| Graph edges | 916,380 | **986,709** | — |
| Index size on disk | **87 MiB** | 671 MiB | — |
| Files indexed | **14,874** | 10,814 | — |
| **Cold index** | **8.6 s** | 82.8 s | 317 s |
| Peak RSS | **0.99 GiB** | 7.7 GiB | 9.0 GiB |
| Symbol find / query | **34.4 ms** | 329.6 ms | 2,017 ms |
| Callers / impact | **34.6 ms** | 345.6 ms | 1,165 ms |
| Inspect / context | **34.6 ms** | 321.9 ms | 2,825 ms |
| Impact baseline (git-diff) | **251.6 ms** | N/A — no such mode | — |
| Graph nodes | **495,839** | 380,766 | 356,556 |
| Graph edges | 1,052,891 | 1,366,686 | **1,493,180** |
| Index size on disk | **125 MiB** | 1,250 MiB | 3,957 MiB |
| Files indexed | **12,294** | 10,688 | 11,710 |

*`gitnexus` did not finish — killed after 27 min stuck in its in-memory graph-resolution phase (RSS 4.6 GiB, no output written).*
*In May 2026 `gitnexus` 1.6.5 did not finish this repo (killed at 27 min); 1.6.12 finishes in 317 s. `ecp`'s on-disk figure is the live index; its parse cache adds 127 MiB.*

### `abhigyanpatwari/GitNexus` — 3,232 files, polyglot (the corpus all three can finish)
### `abhigyanpatwari/GitNexus` — 7,225 files, polyglot

| Metric | **`ecp`** | `codegraph` | `gitnexus` |
|---|---|---|---|
| **Cold index** | **0.74 s** | 11.2 s | 77.6 s |
| Peak RSS | **264 MiB** | 501 MiB | 2.5 GiB |
| Find / query | **9.4 ms** | 103.5 ms | — |
| Callers / impact | **9.2 ms** | 104.2 ms | 297.6 ms |
| Inspect / context | **9.4 ms** | — | 295.5 ms |
| Graph nodes | **49,122** | 19,604 | 30,223 |
| Graph edges | **48,271** | 39,155 | 47,218 |
| Index size on disk | **7.7 MiB** | 37 MiB | 306 MiB |
| Files indexed | **3,232** | 2,968 | 3,232 |

**Cold index: 15–37× faster than `codegraph`; `gitnexus` doesn't finish on a real large repo. Lowest memory, smallest on-disk index, densest graph — at every scale.**
| **Cold index** | **3.22 s** | 56.5 s | 77.2 s |
| Peak RSS | **0.40 GiB** | 4.04 GiB | 4.59 GiB |
| Find / query | **20.4 ms** | 274.2 ms | 1,050 ms |
| Callers / impact | **20.3 ms** | 273.3 ms | 818 ms |
| Inspect / context | **22.3 ms** | 281.5 ms | 1,000 ms |
| Impact baseline (git-diff) | **290.7 ms** | N/A — no such mode | — |
| Graph nodes | **131,266** | 67,988 | 65,974 |
| Graph edges | **272,150** | 221,484 | 217,919 |
| Index size on disk | **32 MiB** | 293 MiB | 1,113 MiB |
| Files indexed | **6,669** | 6,125 | 3,033 |

**Cold index: ~9× faster than `codegraph` on vscode and ~17× on the GitNexus repo; 24–37× faster than `gitnexus`. Lowest memory, smallest on-disk index and fastest queries on both corpora. On vscode, `codegraph` and `gitnexus` record more edges; `ecp` records the most nodes.**

### Scale: `.sample_repo` — 22,645 files, 25 languages, 2.1 GB polyglot corpus

Expand Down
66 changes: 33 additions & 33 deletions docs/ecp-landing/.page-hashes.json
Original file line number Diff line number Diff line change
@@ -1,108 +1,108 @@
{
"https://coseto6125.github.io/egent-code-plexus/": "3288537ae654e92d",
"https://coseto6125.github.io/egent-code-plexus/compare/": "3a2506aa36ca7c06",
"https://coseto6125.github.io/egent-code-plexus/compare/codegraph/": "1537950fd6b3472d",
"https://coseto6125.github.io/egent-code-plexus/compare/gitnexus/": "0ab0c915f6546c8a",
"https://coseto6125.github.io/egent-code-plexus/compare/": "fc675d09423b4113",
"https://coseto6125.github.io/egent-code-plexus/compare/codegraph/": "edbc6f6f3cd9cb4d",
"https://coseto6125.github.io/egent-code-plexus/compare/gitnexus/": "06318b3ceac25146",
"https://coseto6125.github.io/egent-code-plexus/integrations/": "a7a08a0cdc405517",
"https://coseto6125.github.io/egent-code-plexus/integrations/claude-code/": "5825f830097c95f3",
"https://coseto6125.github.io/egent-code-plexus/integrations/codex/": "261335ffc87917db",
"https://coseto6125.github.io/egent-code-plexus/integrations/gemini-cli/": "66f9ca917f7da265",
"https://coseto6125.github.io/egent-code-plexus/integrations/mcp/": "e57761bc82c97308",
"https://coseto6125.github.io/egent-code-plexus/integrations/orca/": "57bfa58b522c0607",
"https://coseto6125.github.io/egent-code-plexus/zh-TW/": "69bac13dea8ec056",
"https://coseto6125.github.io/egent-code-plexus/zh-TW/compare/": "9e875d3ad8fb19bc",
"https://coseto6125.github.io/egent-code-plexus/zh-TW/compare/codegraph/": "6626b702866ca9b2",
"https://coseto6125.github.io/egent-code-plexus/zh-TW/compare/gitnexus/": "7a5b1807f7807a5d",
"https://coseto6125.github.io/egent-code-plexus/zh-TW/compare/": "2044a1419f5a7a60",
"https://coseto6125.github.io/egent-code-plexus/zh-TW/compare/codegraph/": "f291496b5b5d8431",
"https://coseto6125.github.io/egent-code-plexus/zh-TW/compare/gitnexus/": "bd197319c7b60380",
"https://coseto6125.github.io/egent-code-plexus/zh-TW/integrations/": "d82edb2b731ca66f",
"https://coseto6125.github.io/egent-code-plexus/zh-TW/integrations/claude-code/": "931c59e949ea54ee",
"https://coseto6125.github.io/egent-code-plexus/zh-TW/integrations/codex/": "2cd39bcda711db73",
"https://coseto6125.github.io/egent-code-plexus/zh-TW/integrations/gemini-cli/": "726bff633facdb79",
"https://coseto6125.github.io/egent-code-plexus/zh-TW/integrations/mcp/": "2550a904ce4dd856",
"https://coseto6125.github.io/egent-code-plexus/zh-TW/integrations/orca/": "7cb43b90c8dcc384",
"https://coseto6125.github.io/egent-code-plexus/zh-CN/": "e6997b9df5797d1b",
"https://coseto6125.github.io/egent-code-plexus/zh-CN/compare/": "aafc093055aab8f2",
"https://coseto6125.github.io/egent-code-plexus/zh-CN/compare/codegraph/": "89b79d296a08c5f8",
"https://coseto6125.github.io/egent-code-plexus/zh-CN/compare/gitnexus/": "4c86c6d7cb2d174f",
"https://coseto6125.github.io/egent-code-plexus/zh-CN/compare/": "fcbd405e0dda650f",
"https://coseto6125.github.io/egent-code-plexus/zh-CN/compare/codegraph/": "351165c33a8603ca",
"https://coseto6125.github.io/egent-code-plexus/zh-CN/compare/gitnexus/": "0e385b955020d45d",
"https://coseto6125.github.io/egent-code-plexus/zh-CN/integrations/": "cd0b5bf2ee58d48a",
"https://coseto6125.github.io/egent-code-plexus/zh-CN/integrations/claude-code/": "11c891b8d9d67331",
"https://coseto6125.github.io/egent-code-plexus/zh-CN/integrations/codex/": "a4d0d30772d0dbbb",
"https://coseto6125.github.io/egent-code-plexus/zh-CN/integrations/gemini-cli/": "3795a08bb3d4aa59",
"https://coseto6125.github.io/egent-code-plexus/zh-CN/integrations/mcp/": "87585bc56d602ddc",
"https://coseto6125.github.io/egent-code-plexus/zh-CN/integrations/orca/": "cf4dd932dfb5ebcb",
"https://coseto6125.github.io/egent-code-plexus/ja/": "58ded7dc5e8ea71f",
"https://coseto6125.github.io/egent-code-plexus/ja/compare/": "3ddf2a4fba2b951e",
"https://coseto6125.github.io/egent-code-plexus/ja/compare/codegraph/": "19c66c5e265b31fe",
"https://coseto6125.github.io/egent-code-plexus/ja/compare/gitnexus/": "d412477f3cc8fa9a",
"https://coseto6125.github.io/egent-code-plexus/ja/compare/": "9a99d660851b6687",
"https://coseto6125.github.io/egent-code-plexus/ja/compare/codegraph/": "714b9ee2763f99d5",
"https://coseto6125.github.io/egent-code-plexus/ja/compare/gitnexus/": "1ddc466c252cf42a",
"https://coseto6125.github.io/egent-code-plexus/ja/integrations/": "679db6b12b03d567",
"https://coseto6125.github.io/egent-code-plexus/ja/integrations/claude-code/": "9ebbcce023a11afc",
"https://coseto6125.github.io/egent-code-plexus/ja/integrations/codex/": "977716a09865ac39",
"https://coseto6125.github.io/egent-code-plexus/ja/integrations/gemini-cli/": "6303b3c82b8d5b67",
"https://coseto6125.github.io/egent-code-plexus/ja/integrations/mcp/": "a0339a8d519d17ff",
"https://coseto6125.github.io/egent-code-plexus/ja/integrations/orca/": "99bbaa77d4eed21d",
"https://coseto6125.github.io/egent-code-plexus/ko/": "9b8018356e62b105",
"https://coseto6125.github.io/egent-code-plexus/ko/compare/": "6278328f5cb2a6e2",
"https://coseto6125.github.io/egent-code-plexus/ko/compare/codegraph/": "2e26f1e28743a3eb",
"https://coseto6125.github.io/egent-code-plexus/ko/compare/gitnexus/": "a11794eac5590089",
"https://coseto6125.github.io/egent-code-plexus/ko/compare/": "aec24be31149fc61",
"https://coseto6125.github.io/egent-code-plexus/ko/compare/codegraph/": "ed4bc347c955f2e8",
"https://coseto6125.github.io/egent-code-plexus/ko/compare/gitnexus/": "1bdfd3e36a5c7da2",
"https://coseto6125.github.io/egent-code-plexus/ko/integrations/": "4873307e62c9ceb4",
"https://coseto6125.github.io/egent-code-plexus/ko/integrations/claude-code/": "3b04f6d5719ab374",
"https://coseto6125.github.io/egent-code-plexus/ko/integrations/codex/": "2fa3b25776f64e84",
"https://coseto6125.github.io/egent-code-plexus/ko/integrations/gemini-cli/": "d81ae45cfed9968e",
"https://coseto6125.github.io/egent-code-plexus/ko/integrations/mcp/": "a57143f5e371143d",
"https://coseto6125.github.io/egent-code-plexus/ko/integrations/orca/": "606fd8d00e1ed63a",
"https://coseto6125.github.io/egent-code-plexus/es/": "bb2bb3a8aef94f9b",
"https://coseto6125.github.io/egent-code-plexus/es/compare/": "74ca8dbf3d1acedf",
"https://coseto6125.github.io/egent-code-plexus/es/compare/codegraph/": "f9415f39397dfe24",
"https://coseto6125.github.io/egent-code-plexus/es/compare/gitnexus/": "fabb798aba379e6d",
"https://coseto6125.github.io/egent-code-plexus/es/compare/": "2aceabeca259fd19",
"https://coseto6125.github.io/egent-code-plexus/es/compare/codegraph/": "f899300bc79b1185",
"https://coseto6125.github.io/egent-code-plexus/es/compare/gitnexus/": "9bc2d3557ec31e15",
"https://coseto6125.github.io/egent-code-plexus/es/integrations/": "a5a75c3a75c890ec",
"https://coseto6125.github.io/egent-code-plexus/es/integrations/claude-code/": "84ebe1bb3209da8d",
"https://coseto6125.github.io/egent-code-plexus/es/integrations/codex/": "81488b7ccf1d854b",
"https://coseto6125.github.io/egent-code-plexus/es/integrations/gemini-cli/": "adbcdc5b7c2bca2b",
"https://coseto6125.github.io/egent-code-plexus/es/integrations/mcp/": "07fbc82cfc5cf4d0",
"https://coseto6125.github.io/egent-code-plexus/es/integrations/orca/": "3960973e1121ef10",
"https://coseto6125.github.io/egent-code-plexus/pt-BR/": "166248640f67b41b",
"https://coseto6125.github.io/egent-code-plexus/pt-BR/compare/": "f1a639c05b40927e",
"https://coseto6125.github.io/egent-code-plexus/pt-BR/compare/codegraph/": "85c63e4afff39c7b",
"https://coseto6125.github.io/egent-code-plexus/pt-BR/compare/gitnexus/": "5824cb30c414b46f",
"https://coseto6125.github.io/egent-code-plexus/pt-BR/compare/": "05a3a170a0859689",
"https://coseto6125.github.io/egent-code-plexus/pt-BR/compare/codegraph/": "9f1f1f5a6e513680",
"https://coseto6125.github.io/egent-code-plexus/pt-BR/compare/gitnexus/": "2e2d4db5314a0c8b",
"https://coseto6125.github.io/egent-code-plexus/pt-BR/integrations/": "0e34fe845b998626",
"https://coseto6125.github.io/egent-code-plexus/pt-BR/integrations/claude-code/": "dc73784576a7c43e",
"https://coseto6125.github.io/egent-code-plexus/pt-BR/integrations/codex/": "8e3ab3a88326cb98",
"https://coseto6125.github.io/egent-code-plexus/pt-BR/integrations/gemini-cli/": "deb2938e73b8977e",
"https://coseto6125.github.io/egent-code-plexus/pt-BR/integrations/mcp/": "f48c36edc035710c",
"https://coseto6125.github.io/egent-code-plexus/pt-BR/integrations/orca/": "72681f79161772bf",
"https://coseto6125.github.io/egent-code-plexus/ru/": "1abe5c5bb9337599",
"https://coseto6125.github.io/egent-code-plexus/ru/compare/": "d149660f1addb91c",
"https://coseto6125.github.io/egent-code-plexus/ru/compare/codegraph/": "3035159dcd74f87d",
"https://coseto6125.github.io/egent-code-plexus/ru/compare/gitnexus/": "8c30164f232bf68c",
"https://coseto6125.github.io/egent-code-plexus/ru/compare/": "5916559e13f26639",
"https://coseto6125.github.io/egent-code-plexus/ru/compare/codegraph/": "eb216ac94893ff71",
"https://coseto6125.github.io/egent-code-plexus/ru/compare/gitnexus/": "cda814a7335ddb6d",
"https://coseto6125.github.io/egent-code-plexus/ru/integrations/": "000e15ff89327898",
"https://coseto6125.github.io/egent-code-plexus/ru/integrations/claude-code/": "ddca9c257f725040",
"https://coseto6125.github.io/egent-code-plexus/ru/integrations/codex/": "8ecb44450a2d4642",
"https://coseto6125.github.io/egent-code-plexus/ru/integrations/gemini-cli/": "0c084e45024a7e62",
"https://coseto6125.github.io/egent-code-plexus/ru/integrations/mcp/": "d8a9bf84b1c990e2",
"https://coseto6125.github.io/egent-code-plexus/ru/integrations/orca/": "c0dac5b77b0f2b93",
"https://coseto6125.github.io/egent-code-plexus/hi/": "88e6952bd98e4267",
"https://coseto6125.github.io/egent-code-plexus/hi/compare/": "a5e4ab7e011995d8",
"https://coseto6125.github.io/egent-code-plexus/hi/compare/codegraph/": "6b5fa6f1af4abc59",
"https://coseto6125.github.io/egent-code-plexus/hi/compare/gitnexus/": "65386848dbca226c",
"https://coseto6125.github.io/egent-code-plexus/hi/compare/": "616d70ab0cb8bf0d",
"https://coseto6125.github.io/egent-code-plexus/hi/compare/codegraph/": "6909b7dce065b58d",
"https://coseto6125.github.io/egent-code-plexus/hi/compare/gitnexus/": "3c1a2dfac7fae413",
"https://coseto6125.github.io/egent-code-plexus/hi/integrations/": "97b3dff0306ffcef",
"https://coseto6125.github.io/egent-code-plexus/hi/integrations/claude-code/": "5a49c09ddfe1e47b",
"https://coseto6125.github.io/egent-code-plexus/hi/integrations/codex/": "06e48b1f8feb14b5",
"https://coseto6125.github.io/egent-code-plexus/hi/integrations/gemini-cli/": "a0dd02f95504bcae",
"https://coseto6125.github.io/egent-code-plexus/hi/integrations/mcp/": "6cd2ec56a97a54df",
"https://coseto6125.github.io/egent-code-plexus/hi/integrations/orca/": "288fca6e08587d9a",
"https://coseto6125.github.io/egent-code-plexus/fr/": "555af4a9ff71cfb9",
"https://coseto6125.github.io/egent-code-plexus/fr/compare/": "f97fabea04cc2c80",
"https://coseto6125.github.io/egent-code-plexus/fr/compare/codegraph/": "2849fb23afe2d6b8",
"https://coseto6125.github.io/egent-code-plexus/fr/compare/gitnexus/": "76f34018c678244b",
"https://coseto6125.github.io/egent-code-plexus/fr/compare/": "102430ae89a8c027",
"https://coseto6125.github.io/egent-code-plexus/fr/compare/codegraph/": "115a591040bfafeb",
"https://coseto6125.github.io/egent-code-plexus/fr/compare/gitnexus/": "11019f7edff350f9",
"https://coseto6125.github.io/egent-code-plexus/fr/integrations/": "6da0f4783f553c05",
"https://coseto6125.github.io/egent-code-plexus/fr/integrations/claude-code/": "0333817e2f1be769",
"https://coseto6125.github.io/egent-code-plexus/fr/integrations/codex/": "dcdef9cfa618e099",
"https://coseto6125.github.io/egent-code-plexus/fr/integrations/gemini-cli/": "5cbfe2c7307c9acc",
"https://coseto6125.github.io/egent-code-plexus/fr/integrations/mcp/": "afbcbfcdcabf4f66",
"https://coseto6125.github.io/egent-code-plexus/fr/integrations/orca/": "8264da0ae43ed3dc",
"https://coseto6125.github.io/egent-code-plexus/de/": "1a8c5d2fd2a6ca6e",
"https://coseto6125.github.io/egent-code-plexus/de/compare/": "7e6a48b71230d9c0",
"https://coseto6125.github.io/egent-code-plexus/de/compare/codegraph/": "9eb4ebaf804940a7",
"https://coseto6125.github.io/egent-code-plexus/de/compare/gitnexus/": "33e50fd3bc9d1156",
"https://coseto6125.github.io/egent-code-plexus/de/compare/": "6dd7b46f8c264a22",
"https://coseto6125.github.io/egent-code-plexus/de/compare/codegraph/": "8681cd8749e40e06",
"https://coseto6125.github.io/egent-code-plexus/de/compare/gitnexus/": "f0becf87d8be9fed",
"https://coseto6125.github.io/egent-code-plexus/de/integrations/": "b85ca29cdc91109f",
"https://coseto6125.github.io/egent-code-plexus/de/integrations/claude-code/": "44b0bc37d2233b13",
"https://coseto6125.github.io/egent-code-plexus/de/integrations/codex/": "7a181e285eb7c707",
Expand Down
Loading
Loading