about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDániel Buga <bugadani@gmail.com>2020-10-28 16:51:41 +0100
committerDániel Buga <bugadani@gmail.com>2020-10-28 17:22:05 +0100
commita21f3a76a9f5c1f7087e9aec6102889cb24a0b77 (patch)
treeddb34386db4a128f0397dd6e56ace02c278aaed4
parentf3e6d882fec61ef290b9097f896cfbcf39f5b4bd (diff)
downloadrust-a21f3a76a9f5c1f7087e9aec6102889cb24a0b77.tar.gz
rust-a21f3a76a9f5c1f7087e9aec6102889cb24a0b77.zip
Clean up encode_dep_graph
-rw-r--r--compiler/rustc_incremental/src/persist/save.rs17
1 files changed, 5 insertions, 12 deletions
diff --git a/compiler/rustc_incremental/src/persist/save.rs b/compiler/rustc_incremental/src/persist/save.rs
index c43d4ad4049..45cef479a4f 100644
--- a/compiler/rustc_incremental/src/persist/save.rs
+++ b/compiler/rustc_incremental/src/persist/save.rs
@@ -153,7 +153,8 @@ fn encode_dep_graph(tcx: TyCtxt<'_>, encoder: &mut Encoder) {
         let total_node_count = serialized_graph.nodes.len();
         let total_edge_count = serialized_graph.edge_list_data.len();
 
-        let mut counts: FxHashMap<_, Stat> = FxHashMap::default();
+        let mut counts: FxHashMap<_, Stat> =
+            FxHashMap::with_capacity_and_hasher(total_node_count, Default::default());
 
         for (i, &node) in serialized_graph.nodes.iter_enumerated() {
             let stat = counts.entry(node.kind).or_insert(Stat {
@@ -170,14 +171,6 @@ fn encode_dep_graph(tcx: TyCtxt<'_>, encoder: &mut Encoder) {
         let mut counts: Vec<_> = counts.values().cloned().collect();
         counts.sort_by_key(|s| -(s.node_counter as i64));
 
-        let percentage_of_all_nodes: Vec<f64> = counts
-            .iter()
-            .map(|s| (100.0 * (s.node_counter as f64)) / (total_node_count as f64))
-            .collect();
-
-        let average_edges_per_kind: Vec<f64> =
-            counts.iter().map(|s| (s.edge_counter as f64) / (s.node_counter as f64)).collect();
-
         println!("[incremental]");
         println!("[incremental] DepGraph Statistics");
 
@@ -207,13 +200,13 @@ fn encode_dep_graph(tcx: TyCtxt<'_>, encoder: &mut Encoder) {
                   |------------------|"
         );
 
-        for (i, stat) in counts.iter().enumerate() {
+        for stat in counts.iter() {
             println!(
                 "[incremental]  {:<36}|{:>16.1}% |{:>12} |{:>17.1} |",
                 format!("{:?}", stat.kind),
-                percentage_of_all_nodes[i],
+                (100.0 * (stat.node_counter as f64)) / (total_node_count as f64), // percentage of all nodes
                 stat.node_counter,
-                average_edges_per_kind[i]
+                (stat.edge_counter as f64) / (stat.node_counter as f64), // average edges per kind
             );
         }