diff options
| author | bors <bors@rust-lang.org> | 2019-04-15 07:12:16 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-04-15 07:12:16 +0000 |
| commit | 1edb01b7afe758dc79740e72fb8b9909402c9620 (patch) | |
| tree | f677854cd24560985843ac2d581e9e7cd14e0744 | |
| parent | a55f6be4286991437659acb8506466e8d637ac51 (diff) | |
| parent | 304a7be7a875e76a040bce0d1247d17d475e460a (diff) | |
| download | rust-1edb01b7afe758dc79740e72fb8b9909402c9620.tar.gz rust-1edb01b7afe758dc79740e72fb8b9909402c9620.zip | |
Auto merge of #59626 - nnethercote:DepGraph-1.02x, r=Zoxc
Reduce the `DepNode` pre-allocation ratio. A code size of increase of 15% is overly generous. 2% is more realistic. This change reduces peak memory size by 20+ MiB on some workloads. r? @Zoxc
| -rw-r--r-- | src/librustc/dep_graph/graph.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/librustc/dep_graph/graph.rs b/src/librustc/dep_graph/graph.rs index db81a9d826f..1ecc580d8c5 100644 --- a/src/librustc/dep_graph/graph.rs +++ b/src/librustc/dep_graph/graph.rs @@ -992,8 +992,9 @@ impl CurrentDepGraph { // Pre-allocate the dep node structures. We over-allocate a little so // that we hopefully don't have to re-allocate during this compilation - // session. - let new_node_count_estimate = (prev_graph_node_count * 115) / 100; + // session. The over-allocation is 2% plus a small constant to account + // for the fact that in very small crates 2% might not be enough. + let new_node_count_estimate = (prev_graph_node_count * 102) / 100 + 200; CurrentDepGraph { data: IndexVec::with_capacity(new_node_count_estimate), |
