diff options
author | Michal Terepeta <[email protected]> | 2020-01-03 12:59:46 +0000 |
---|---|---|
committer | Michal Terepeta <[email protected]> | 2020-01-03 12:59:46 +0000 |
commit | 7cd6f12926295476d162e21e315ee72671985cd2 (patch) | |
tree | 56f4a050e3c9b57d829a7ff9998a939bee4cd480 /crates/ra_lsp_server/src/lib.rs | |
parent | e423cfe383a4a1f9f0b5459810587d50bf2a2b2d (diff) |
Split `crate_def_map` into two methods
This change:
- introduces `compute_crate_def_map` query and renames
`CrateDefMap::crate_def_map_query` for consistency,
- annotates `crate_def_map` as `salsa::transparent` and adds a
top-level `crate_def_map` wrapper function around that starts the
profiler and immediately calls into `compute_crate_def_map` query.
This allows us to better understand where we spent the time, in
particular, how much is spent in the recomputaiton and how much in
salsa.
Example output (where we don't actually re-compute anything, but the
query still takes a non-trivial amount of time):
```
211ms - handle_inlay_hints
150ms - get_inlay_hints
150ms - SourceAnalyzer::new
65ms - def_with_body_from_child_node
65ms - analyze_container
65ms - analyze_container
65ms - Module::from_definition
65ms - Module::from_file
65ms - crate_def_map
1ms - parse_macro_query (6 calls)
0ms - raw_items_query (1 calls)
64ms - ???
```
Signed-off-by: Michal Terepeta <[email protected]>
Diffstat (limited to 'crates/ra_lsp_server/src/lib.rs')
0 files changed, 0 insertions, 0 deletions