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 <michal.terepeta@gmail.com>
This commit is contained in:
@@ -58,7 +58,7 @@ use crate::{
|
||||
use display::{HirDisplay, HirFormatter};
|
||||
|
||||
pub use autoderef::autoderef;
|
||||
pub use infer::{infer_query, InferTy, InferenceResult};
|
||||
pub use infer::{do_infer_query, InferTy, InferenceResult};
|
||||
pub use lower::CallableDef;
|
||||
pub use lower::{callable_item_sig, TyDefId, ValueTyDefId};
|
||||
pub use traits::{InEnvironment, Obligation, ProjectionPredicate, TraitEnvironment};
|
||||
|
||||
Reference in New Issue
Block a user