From d6c2a59538c83b6141f7ab9596a9fde64f94c116 Mon Sep 17 00:00:00 2001 From: Michal Terepeta Date: Fri, 3 Jan 2020 17:02:08 +0100 Subject: Split `infer` query into two for better profiling This is the same change as we did with `crate_def_map` and it does seem that we mostly spend time in salsa, without recomputing much on rust-analyzer side. Example output: ``` 233ms - handle_inlay_hints 163ms - get_inlay_hints 163ms - SourceAnalyzer::new 67ms - def_with_body_from_child_node 67ms - analyze_container 67ms - analyze_container 67ms - Module::from_definition 67ms - Module::from_file 67ms - crate_def_map 0ms - parse_macro_query (6 calls) 0ms - raw_items_query (1 calls) 66ms - ??? 0ms - crate_def_map (1 calls) 0ms - crate_def_map (1 calls) 96ms - infer 2ms - trait_solve_query (2 calls) 94ms - ??? 0ms - body_with_source_map_query (1 calls) 0ms - crate_def_map (1 calls) [...] ``` Signed-off-by: Michal Terepeta --- crates/ra_ide/src/change.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'crates/ra_ide/src') diff --git a/crates/ra_ide/src/change.rs b/crates/ra_ide/src/change.rs index 4585bf522..f92950b71 100644 --- a/crates/ra_ide/src/change.rs +++ b/crates/ra_ide/src/change.rs @@ -273,7 +273,7 @@ impl RootDatabase { self.query(hir::db::BodyWithSourceMapQuery).sweep(sweep); self.query(hir::db::ExprScopesQuery).sweep(sweep); - self.query(hir::db::InferQuery).sweep(sweep); + self.query(hir::db::DoInferQuery).sweep(sweep); self.query(hir::db::BodyQuery).sweep(sweep); } @@ -320,7 +320,7 @@ impl RootDatabase { hir::db::LangItemQuery hir::db::DocumentationQuery hir::db::ExprScopesQuery - hir::db::InferQuery + hir::db::DoInferQuery hir::db::TyQuery hir::db::ValueTyQuery hir::db::FieldTypesQuery -- cgit v1.2.3