aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_batch/src/vfs_filter.rs
Commit message (Collapse)AuthorAgeFilesLines
* add analysis-bench to benchmark incremental analysisAleksey Kladov2019-06-161-54/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Can be used like this: ``` $ cargo run --release -p ra_cli -- \ analysis-bench ../chalk/ \ --complete ../chalk/chalk-engine/src/logic.rs:94:0 loading: 225.970093ms from scratch: 8.492373325s no change: 445.265µs trivial change: 95.631242ms ``` Or like this: ``` $ cargo run --release -p ra_cli -- \ analysis-bench ../chalk/ \ --highlight ../chalk/chalk-engine/src/logic.rs loading: 209.873484ms from scratch: 9.504916942s no change: 7.731119ms trivial change: 124.984039ms ``` "from scratch" includes initial analysis of the relevant bits of the project "no change" just asks the same question for the second time. It measures overhead on assembling the answer outside of salsa. "trivial change" doesn't do an actual salsa change, it just advances the revision. This test how fast is salsa at validating things.
* Move actual include logic to ProjectRootVille Penttinen2019-03-211-25/+20
| | | | | This way the two IncludeRustFiles implementations can simply call the ProjectRoots' methods, so that the include logic is in one place.
* Improve filtering of file rootsVille Penttinen2019-03-201-0/+59
`ProjectWorkspace::to_roots` now returns a new `ProjectRoot` which contains information regarding whether or not the given path is part of the current workspace or an external dependency. This information can then be used in `ra_batch` and `ra_lsp_server` to implement more advanced filtering. This allows us to filter some unnecessary folders from external dependencies such as tests, examples and benches.