diff --git a/crates/ra_cli/src/analysis_stats.rs b/crates/ra_cli/src/analysis_stats.rs index b8ad6aebcb1..c2a2b66d54f 100644 --- a/crates/ra_cli/src/analysis_stats.rs +++ b/crates/ra_cli/src/analysis_stats.rs @@ -115,9 +115,13 @@ pub fn run(verbose: bool, memory_usage: bool, path: &Path, only: Option<&str>) - println!("Analysis: {:?}, {}", analysis_time.elapsed(), ra_prof::memory_usage()); if memory_usage { + drop(db); for (name, bytes) in host.per_query_memory_usage() { println!("{:>8} {}", bytes, name) } + let before = ra_prof::memory_usage(); + drop(host); + println!("leftover: {}", before.allocated - ra_prof::memory_usage().allocated) } Ok(()) diff --git a/crates/ra_ide_api/src/change.rs b/crates/ra_ide_api/src/change.rs index efc9a92deb2..179f17ca403 100644 --- a/crates/ra_ide_api/src/change.rs +++ b/crates/ra_ide_api/src/change.rs @@ -252,6 +252,13 @@ impl RootDatabase { let q: $q = Default::default(); let name = format!("{:?}", q); acc.push((name, before - after)); + + let before = memory_usage().allocated; + self.query($q).sweep(sweep.discard_everything()); + let after = memory_usage().allocated; + let q: $q = Default::default(); + let name = format!("{:?} (deps)", q); + acc.push((name, before - after)); )*} } sweep_each_query![