Skip to content

Commit a35d79c

Browse files
committed
docs(readme): state the host dependency of the timings, and that colbymchenry#1715 supersedes the bare-import row
Two things a reader cannot check from the table. The millisecond figures depend on a machine-local Windows Defender exclusion. The corpus sat under an excluded directory and the interpreter in Program Files; on this host an unexcluded directory read by an untrusted binary costs ~12.6s for one 1.2MB file. All three arms shared the configuration so the comparison holds, but the absolute totals do not transfer to a stock host. And the bare-import row is no longer the best available fix. colbymchenry#1715 moves the guard into matchByExactName, where these references actually resolve, and measured on the same corpus against the same merge base it removes 2,487 edge rows to this change's 4, adding none. All 2,487 have a source file importing that name from a bare npm package or node builtin, so the removals are precision gains rather than a regression.
1 parent 05a9d2d commit a35d79c

1 file changed

Lines changed: 13 additions & 1 deletion

File tree

‎README.md‎

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,13 @@ assumption. Counts are edge rows removed against `main`:
103103
The single arms sum to 99 but their union is 93, because six rows are caught by more than one
104104
change. The union matching the fork exactly means nothing is removed that no arm explains.
105105

106+
The bare-import row is superseded upstream. [#1715](https://github.com/colbymchenry/codegraph/pull/1715)
107+
moves the same guard from the fuzzy matcher into `matchByExactName`, where these references are
108+
actually resolved, and on the same corpus it removes **2,487** edge rows against `main` rather
109+
than 4 — every one of them attributable to a bare npm or node-builtin import, with none added.
110+
This fork still carries the narrower change; the table describes what is in it, not what is best
111+
available.
112+
106113
The surprise is the first row. The 60 bare-`vite` imports are removed by the **markdown index**,
107114
not by either resolution guard, and they never reach the fuzzy matcher at all. They resolved by
108115
`exact-match`: `matchByExactName` returns immediately when exactly one candidate survives its
@@ -134,7 +141,12 @@ across indexes, and counts edge <i>rows</i>. Deduplicating on that key would <i>
134141
`edges` also carries <code>line</code> and <code>col</code>, and one source line can hold two
135142
genuine references at different columns — <code>import corsMiddleware from 'cors'</code> emits an
136143
edge for the specifier and one for the binding it introduces. Keyed on all of source, target,
137-
kind, line and col, distinct equals rows exactly, so the row counts here are the edge counts.</sub>
144+
kind, line and col, distinct equals rows exactly, so the row counts here are the edge counts.
145+
The absolute millisecond figures are host-specific and do not transfer: the corpus sat in a
146+
directory excluded from Windows Defender and the interpreter in <code>C:\Program Files</code>, and
147+
on this host an unexcluded directory read by an untrusted binary costs ~12.6 s for a single 1.2 MB
148+
file. All three arms shared that configuration, so the arm-to-arm comparison is unaffected; a
149+
stock Windows host would produce different totals.</sub>
138150

139151
---
140152

0 commit comments

Comments
 (0)