![]() Previously we were using a single globset::Glob in PathMatcher; higher
up the stack, we were then resorting to using a list of PathMatchers.
globset crate exposes a GlobSet type that's better suited for this use
case. In my benchmarks, using a single PathMatcher with GlobSet instead
of a Vec of PathMatchers with Globs is about 3 times faster with the
default 'file_scan_exclusions' values. This slightly improves our
project load time for projects with large # of files, as showcased in
the following videos of loading a project with 100k source files. This
project is *not* a git repository, so it should measure raw overhead on
our side.
Current nightly:
|
||
---|---|---|
.. | ||
active_command.rs | ||
default_command.rs | ||
diagnostics_command.rs | ||
fetch_command.rs | ||
file_command.rs | ||
now_command.rs | ||
project_command.rs | ||
prompt_command.rs | ||
rustdoc_command.rs | ||
search_command.rs | ||
tabs_command.rs |