rust/crates
bors[bot] 05faeb50f3
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 <jonas.schievink@ferrous-systems.com>
2020-10-12 15:21:39 +00:00
..
arena
assists adt: correctly inherit field visibility from enum 2020-10-09 20:46:45 +02:00
base_db Improve prime_caches and display its progress 2020-10-12 13:35:01 +02:00
cfg
flycheck Spawn a flycheck instance per workspace 2020-09-27 19:41:54 +02:00
hir Merge #6195 2020-10-12 15:06:45 +00:00
hir_def Merge #6199 2020-10-12 14:24:18 +00:00
hir_expand Shorten type hints for std::iter Iterators 2020-10-06 19:20:42 +02:00
hir_ty Update crates 2020-10-11 18:01:50 -04:00
ide Merge #6153 2020-10-12 15:21:39 +00:00
ide_db Treat ast::Name in field patterns as use 2020-10-09 19:56:54 +02:00
mbe Cleanup 2020-10-07 11:55:20 +02:00
parser
paths
proc_macro_api
proc_macro_srv Add track_env_var to the proc macro server 2020-10-08 17:06:20 +03:00
proc_macro_test
profile Bump rustc_lexer, cfg-if to 1.0 and add new license to check 2020-10-08 10:39:02 -04:00
project_model Update crates/project_model/src/sysroot.rs 2020-10-09 16:17:05 +02:00
rust-analyzer Improve prime_caches and display its progress 2020-10-12 13:35:01 +02:00
ssr Minor clippy performance suggestions 2020-09-30 15:22:49 -04:00
stdx Code reorganisation and field support 2020-10-08 15:04:20 +13:00
syntax Bump rustc_lexer, cfg-if to 1.0 and add new license to check 2020-10-08 10:39:02 -04:00
test_utils
text_edit
toolchain
tt
vfs
vfs-notify