Some glob patterns (e.g. source file discovery, mutant file matching) are evaluated repeatedly with the same inputs. We should identify which globs produce stable results within a single run and cache their resolved paths in a BTreeSet<PathBuf> to avoid redundant filesystem walks.
Tasks
- Audit callsites that evaluate globs (e.g.
TwigsIterBuilder, Base::twigs(), Base::mutant_twigs())
- Identify which are called multiple times with identical parameters during a single
bough run
- Cache results in
BTreeSet<PathBuf> at the appropriate level (session, base, or per-invocation)
- Measure before/after to confirm the improvement matters
Some glob patterns (e.g. source file discovery, mutant file matching) are evaluated repeatedly with the same inputs. We should identify which globs produce stable results within a single run and cache their resolved paths in a
BTreeSet<PathBuf>to avoid redundant filesystem walks.Tasks
TwigsIterBuilder,Base::twigs(),Base::mutant_twigs())bough runBTreeSet<PathBuf>at the appropriate level (session, base, or per-invocation)