cleanup + detect num cpus

This commit is contained in:
Jake Heinz
2022-01-14 09:48:59 +00:00
parent 0b0bfc6fdd
commit f83c0166be
6 changed files with 13 additions and 38 deletions

View File

@@ -88,7 +88,7 @@ pub fn load_workspace(
load_crate_graph(crate_graph, project_folders.source_root_config, &mut vfs, &receiver);
if load_config.prefill_caches {
host.analysis().prime_caches(|_| {})?;
host.analysis().parallel_prime_caches(1, |_| {})?;
}
Ok((host, vfs, proc_macro_client))
}

View File

@@ -509,10 +509,13 @@ impl GlobalState {
let analysis = self.snapshot().analysis;
move |sender| {
sender.send(Task::PrimeCaches(PrimeCachesProgress::Begin)).unwrap();
let res = analysis.parallel_prime_caches(32, |progress| {
let report = PrimeCachesProgress::Report(progress);
sender.send(Task::PrimeCaches(report)).unwrap();
});
let res = analysis.parallel_prime_caches(
num_cpus::get_physical().try_into().unwrap_or(u8::MAX),
|progress| {
let report = PrimeCachesProgress::Report(progress);
sender.send(Task::PrimeCaches(report)).unwrap();
},
);
sender
.send(Task::PrimeCaches(PrimeCachesProgress::End {
cancelled: res.is_err(),