]> git.lizzy.rs Git - rust.git/commit
Merge #2742
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>
Fri, 3 Jan 2020 19:08:32 +0000 (19:08 +0000)
committerGitHub <noreply@github.com>
Fri, 3 Jan 2020 19:08:32 +0000 (19:08 +0000)
commitcb160f2a3457a4c1e9ae0d0a9abd4e807af0c29a
treefaedd3d4f635a4317ac39dfcc8600a0f0d172593
parent1a18fe2ec075652942514ba7d31049a4148f6e4a
parentd6c2a59538c83b6141f7ab9596a9fde64f94c116
Merge #2742

2742: Split `infer` query into two for better profiling r=flodiebold a=michalt

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>
Co-authored-by: Michal Terepeta <michal.terepeta@gmail.com>