@@ -69,12 +69,7 @@ impl CategoryResultData {
69
69
}
70
70
71
71
fn total_time ( & self ) -> u64 {
72
- let mut total = 0 ;
73
- for ( _, time) in & self . query_times {
74
- total += time;
75
- }
76
-
77
- total
72
+ self . query_times . iter ( ) . map ( |( _, time) | time) . sum ( )
78
73
}
79
74
80
75
fn total_cache_data ( & self ) -> ( u64 , u64 ) {
@@ -133,13 +128,7 @@ impl CalculatedResults {
133
128
}
134
129
135
130
fn total_time ( & self ) -> u64 {
136
- let mut total = 0 ;
137
-
138
- for ( _, data) in & self . categories {
139
- total += data. total_time ( ) ;
140
- }
141
-
142
- total
131
+ self . categories . iter ( ) . map ( |( _, data) | data. total_time ( ) ) . sum ( )
143
132
}
144
133
145
134
fn with_options ( mut self , opts : & Options ) -> CalculatedResults {
@@ -411,9 +400,9 @@ impl SelfProfiler {
411
400
. unwrap ( ) ;
412
401
413
402
let mut categories: Vec < _ > = results. categories . iter ( ) . collect ( ) ;
414
- categories. sort_by ( |( _, data1 ) , ( _ , data2 ) | data2 . total_time ( ) . cmp ( & data1 . total_time ( ) ) ) ;
403
+ categories. sort_by_cached_key ( |( _, d ) | d . total_time ( ) ) ;
415
404
416
- for ( category, data) in categories {
405
+ for ( category, data) in categories. iter ( ) . rev ( ) {
417
406
let ( category_hits, category_total) = data. total_cache_data ( ) ;
418
407
let category_hit_percent = calculate_percent ( category_hits, category_total) ;
419
408
0 commit comments