diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-10-12 16:21:39 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2020-10-12 16:21:39 +0100 |
commit | 05faeb50f3d78aac24b9581e846d010d815d7747 (patch) | |
tree | 3d9b18ddb480dbfa2b2593b31660b3776629d514 /crates/parser/src/grammar/expressions.rs | |
parent | fac59f4f28e3ede6c88999aa43d28e7caa7df3a7 (diff) | |
parent | cde7392ec809599e6337d91561971e08c8e06831 (diff) |
Merge #6153
6153: Improve prime_caches and display its progress r=matklad a=jonas-schievink
It now computes the `CrateDefMap` of all crates, which is generally a reasonable approximation for "IDE features ready". There is still some delay after this finishes, I suspect mostly due to impl collection, which takes a while, but this should be an improvement already.
For more accurate progress reports, this topologically sorts all crates before starting this operation. ~~Because that is also the ordering in which parallelization makes sense (which was previously attempted in https://github.com/rust-analyzer/rust-analyzer/pull/3529), I decided to throw that into the mix as well. It still doesn't provide *that* much of a performance boost, but it does scale beyond the current single-core architecture, and adding it was very easy.~~
~~Unfortunately, as written, this will not tell the user which crate is actually causing slowdowns, since the displayed crate is the last one that was *started*, not the one we are currently *blocked* on, but that seems fairly difficult to implement unless I'm missing something.~~
(I have removed rayon for now since it does not work correctly with cancellation.)
Co-authored-by: Jonas Schievink <[email protected]>
Diffstat (limited to 'crates/parser/src/grammar/expressions.rs')
0 files changed, 0 insertions, 0 deletions