1
Fork 0

Add percentages to -Zhir-stats output.

This commit is contained in:
Nicholas Nethercote 2022-08-11 13:46:26 +10:00
parent 6a3c663cbb
commit 85c749266d
2 changed files with 78 additions and 76 deletions

View file

@ -86,26 +86,28 @@ impl<'k> StatCollector<'k> {
stats.sort_by_key(|&(_, ref d)| d.count * d.size);
let mut total_size = 0;
let total_size = stats.iter().map(|(_, data)| data.count * data.size).sum();
eprintln!("\n{}\n", title);
eprintln!("{:<18}{:>18}{:>14}{:>14}", "Name", "Accumulated Size", "Count", "Item Size");
eprintln!("----------------------------------------------------------------");
let percent = |m, n| { (m * 100) as f64 / n as f64 };
for (label, data) in stats {
let size = data.count * data.size;
eprintln!(
"{:<18}{:>18}{:>14}{:>14}",
"{:<18}{:>10} ({:4.1}%){:>14}{:>14}",
label,
to_readable_str(data.count * data.size),
to_readable_str(size),
percent(size, total_size),
to_readable_str(data.count),
to_readable_str(data.size)
);
total_size += data.count * data.size;
}
eprintln!("----------------------------------------------------------------");
eprintln!("{:<18}{:>18}\n", "Total", to_readable_str(total_size));
eprintln!("{:<18}{:>10}\n", "Total", to_readable_str(total_size));
}
}