From f01e7e3601423e176e16c66aebbe6aca541a5731 Mon Sep 17 00:00:00 2001 From: Jonas Schievink Date: Fri, 3 Jul 2020 17:16:01 +0200 Subject: Track VFS and remaining/unaccounted memory --- crates/rust-analyzer/src/cli/analysis_stats.rs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'crates') diff --git a/crates/rust-analyzer/src/cli/analysis_stats.rs b/crates/rust-analyzer/src/cli/analysis_stats.rs index 14982919d..846264046 100644 --- a/crates/rust-analyzer/src/cli/analysis_stats.rs +++ b/crates/rust-analyzer/src/cli/analysis_stats.rs @@ -273,12 +273,22 @@ pub fn analysis_stats( println!("Total: {:?}, {}", analysis_time.elapsed(), ra_prof::memory_usage()); if memory_usage { - for (name, bytes) in host.per_query_memory_usage() { - println!("{:>8} {}", bytes, name) - } + let mut mem = host.per_query_memory_usage(); + + let before = ra_prof::memory_usage(); + drop(vfs); + let vfs = before.allocated - ra_prof::memory_usage().allocated; + mem.push(("VFS".into(), vfs)); + let before = ra_prof::memory_usage(); drop(host); - println!("leftover: {}", before.allocated - ra_prof::memory_usage().allocated) + mem.push(("Unaccounted".into(), before.allocated - ra_prof::memory_usage().allocated)); + + mem.push(("Remaining".into(), ra_prof::memory_usage().allocated)); + + for (name, bytes) in mem { + println!("{:>8} {}", bytes, name) + } } Ok(()) -- cgit v1.2.3