Files
codebase-memory-mcp/tests
Martin Vogel eccd026782 perf(resolver): read a Dart barrel's exports as a walk reaches them
Every file that imports a barrel read the barrel's whole export list again, though one name's walk stops at the chain's bound of 128 libraries. With the barrel listing the project, that is files x exports: 16,000 libraries took 39.7 s in resolve.

Exports are now read when a walk first reaches them, and a walk stops once the bound is passed, since no further library can then be visited or change its answer. So `dart_export_graph_not_walked` is still what a name past the bound gets.

Left as it was: an export that a `show` or `hide` rules out costs a filter check per name and does not count toward the bound.

complexity_dart_barrel_exports_are_near_linear: 3.71 on the old read, 1.94 now.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-11-03 01:27:36 +01:00
..
…