about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWesley Wiser <wwiser@gmail.com>2019-02-10 14:22:58 -0500
committerWesley Wiser <wwiser@gmail.com>2019-02-11 18:01:37 -0500
commite9ebc2e9561d285b0e9991943a834da18cb65c1f (patch)
treeb4c61689b23dab4976a8824c0681a7f6074d3f99
parent8170828cb9073903c11c70767f22d932949972e2 (diff)
downloadrust-e9ebc2e9561d285b0e9991943a834da18cb65c1f.tar.gz
rust-e9ebc2e9561d285b0e9991943a834da18cb65c1f.zip
[self-profiler] Misc cleanups
-rw-r--r--src/librustc/util/profiling.rs19
1 files changed, 4 insertions, 15 deletions
diff --git a/src/librustc/util/profiling.rs b/src/librustc/util/profiling.rs
index a43b618ca90..c90bd12a310 100644
--- a/src/librustc/util/profiling.rs
+++ b/src/librustc/util/profiling.rs
@@ -69,12 +69,7 @@ impl CategoryResultData {
     }
 
     fn total_time(&self) -> u64 {
-        let mut total = 0;
-        for (_, time) in &self.query_times {
-            total += time;
-        }
-
-        total
+        self.query_times.iter().map(|(_, time)| time).sum()
     }
 
     fn total_cache_data(&self) -> (u64, u64) {
@@ -133,13 +128,7 @@ impl CalculatedResults {
     }
 
     fn total_time(&self) -> u64 {
-        let mut total = 0;
-
-        for (_, data) in &self.categories {
-            total += data.total_time();
-        }
-
-        total
+        self.categories.iter().map(|(_, data)| data.total_time()).sum()
     }
 
     fn with_options(mut self, opts: &Options) -> CalculatedResults {
@@ -411,9 +400,9 @@ impl SelfProfiler {
             .unwrap();
 
         let mut categories: Vec<_> = results.categories.iter().collect();
-        categories.sort_by(|(_, data1), (_, data2)| data2.total_time().cmp(&data1.total_time()));
+        categories.sort_by_cached_key(|(_, d)| d.total_time());
 
-        for (category, data) in categories {
+        for (category, data) in categories.iter().rev() {
             let (category_hits, category_total) = data.total_cache_data();
             let category_hit_percent = calculate_percent(category_hits, category_total);