]> git.lizzy.rs Git - rust.git/commitdiff
Add profile call
authorAleksey Kladov <aleksey.kladov@gmail.com>
Mon, 18 Jan 2021 10:25:57 +0000 (13:25 +0300)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Mon, 18 Jan 2021 10:30:12 +0000 (13:30 +0300)
Cargo.lock
crates/project_model/Cargo.toml
crates/project_model/src/workspace.rs
crates/rust-analyzer/src/reload.rs

index b52616974a6cdfe86dad5d16c9911d3d8976dcc8..46f26282e186c2169ad164da49ac460b69179269 100644 (file)
@@ -1231,6 +1231,7 @@ dependencies = [
  "log",
  "paths",
  "proc_macro_api",
+ "profile",
  "rustc-hash",
  "serde",
  "serde_json",
index 436eff16b401f6a4ba2dc581d6c91cda99fd277e..293cb5bfe1016234996bb0622b8d29c7cb80bc28 100644 (file)
@@ -25,3 +25,4 @@ toolchain = { path = "../toolchain", version = "0.0.0" }
 proc_macro_api =  { path = "../proc_macro_api", version = "0.0.0" }
 paths =  { path = "../paths", version = "0.0.0" }
 stdx =  { path = "../stdx", version = "0.0.0" }
+profile =  { path = "../profile", version = "0.0.0" }
index 06a0be284a0d2ffba8b64a0eef5048906a92f26b..c511320d70398ee11910cad1344a94d63951a73c 100644 (file)
@@ -207,6 +207,7 @@ pub fn to_crate_graph(
         proc_macro_client: Option<&ProcMacroClient>,
         load: &mut dyn FnMut(&AbsPath) -> Option<FileId>,
     ) -> CrateGraph {
+        let _p = profile::span("ProjectWorkspace::to_crate_graph");
         let proc_macro_loader = |path: &Path| match proc_macro_client {
             Some(client) => client.by_dylib_path(path),
             None => Vec::new(),
@@ -299,6 +300,7 @@ fn cargo_to_crate_graph(
     sysroot: &Sysroot,
     rustc: &Option<CargoWorkspace>,
 ) -> CrateGraph {
+    let _p = profile::span("cargo_to_crate_graph");
     let mut crate_graph = CrateGraph::default();
     let (public_deps, libproc_macro) =
         sysroot_to_crate_graph(&mut crate_graph, sysroot, target, load);
@@ -493,6 +495,7 @@ fn sysroot_to_crate_graph(
     target: Option<&str>,
     load: &mut dyn FnMut(&AbsPath) -> Option<FileId>,
 ) -> (Vec<(CrateName, CrateId)>, Option<CrateId>) {
+    let _p = profile::span("sysroot_to_crate_graph");
     let mut cfg_options = CfgOptions::default();
     cfg_options.extend(get_rustc_cfg_options(target));
     let sysroot_crates: FxHashMap<SysrootCrate, CrateId> = sysroot
index 97e20362f65c1cd9aba00fe97668038edac335c0..34e3cfe682eff12e39429696410fcf2b513113bf 100644 (file)
@@ -274,6 +274,7 @@ pub(crate) fn switch_workspaces(&mut self, workspaces: Vec<anyhow::Result<Projec
     }
 
     fn reload_flycheck(&mut self) {
+        let _p = profile::span("GlobalState::reload_flycheck");
         let config = match self.config.flycheck() {
             Some(it) => it,
             None => {