Skip to content

Commit 1e7e173

Browse files
committed
Reverse order of -Zinput-stats and -Zmeta-stats output.
Currently they have the largest items at the end. I believe the rationale is that it saves you scrolling up through terminal output because the important stuff is at the bottom. But it's also surprising and a bit confusing, and I think the obvious order (big things at the top) is better.
1 parent 8b1abd6 commit 1e7e173

File tree

3 files changed

+95
-93
lines changed

3 files changed

+95
-93
lines changed

compiler/rustc_metadata/src/rmeta/encoder.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -779,6 +779,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
779779
assert_eq!(self.opaque.file().stream_position().unwrap(), pos_before_rewind);
780780

781781
stats.sort_by_key(|&(_, usize)| usize);
782+
stats.reverse(); // bigger items first
782783

783784
let prefix = "meta-stats";
784785
let perc = |bytes| (bytes * 100) as f64 / total_bytes as f64;

compiler/rustc_passes/src/input_stats.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ impl<'k> StatCollector<'k> {
123123
#[allow(rustc::potential_query_instability)]
124124
let mut nodes: Vec<_> = self.nodes.iter().collect();
125125
nodes.sort_by_cached_key(|(label, node)| (node.stats.accum_size(), label.to_owned()));
126+
nodes.reverse(); // bigger items first
126127

127128
let name_w = 18;
128129
let acc_size1_w = 10;

tests/ui/stats/input-stats.stderr

Lines changed: 93 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,6 @@
11
ast-stats POST EXPANSION AST STATS
22
ast-stats Name Accumulated Size Count Item Size
33
ast-stats ----------------------------------------------------------------
4-
ast-stats Crate 40 (NN.N%) 1 40
5-
ast-stats GenericArgs 40 (NN.N%) 1 40
6-
ast-stats - AngleBracketed 40 (NN.N%) 1
7-
ast-stats ExprField 48 (NN.N%) 1 48
8-
ast-stats WherePredicate 72 (NN.N%) 1 72
9-
ast-stats - BoundPredicate 72 (NN.N%) 1
10-
ast-stats ForeignItem 80 (NN.N%) 1 80
11-
ast-stats - Fn 80 (NN.N%) 1
12-
ast-stats Arm 96 (NN.N%) 2 48
13-
ast-stats Local 96 (NN.N%) 1 96
14-
ast-stats FnDecl 120 (NN.N%) 5 24
15-
ast-stats InlineAsm 120 (NN.N%) 1 120
16-
ast-stats Attribute 128 (NN.N%) 4 32
17-
ast-stats - DocComment 32 (NN.N%) 1
18-
ast-stats - Normal 96 (NN.N%) 3
19-
ast-stats Param 160 (NN.N%) 4 40
20-
ast-stats Stmt 160 (NN.N%) 5 32
21-
ast-stats - Let 32 (NN.N%) 1
22-
ast-stats - Semi 32 (NN.N%) 1
23-
ast-stats - Expr 96 (NN.N%) 3
24-
ast-stats Block 192 (NN.N%) 6 32
25-
ast-stats FieldDef 208 (NN.N%) 2 104
26-
ast-stats Variant 208 (NN.N%) 2 104
27-
ast-stats AssocItem 320 (NN.N%) 4 80
28-
ast-stats - Fn 160 (NN.N%) 2
29-
ast-stats - Type 160 (NN.N%) 2
30-
ast-stats GenericBound 352 (NN.N%) 4 88
31-
ast-stats - Trait 352 (NN.N%) 4
32-
ast-stats GenericParam 480 (NN.N%) 5 96
33-
ast-stats Pat 504 (NN.N%) 7 72
34-
ast-stats - Struct 72 (NN.N%) 1
35-
ast-stats - Wild 72 (NN.N%) 1
36-
ast-stats - Ident 360 (NN.N%) 5
37-
ast-stats Expr 648 (NN.N%) 9 72
38-
ast-stats - InlineAsm 72 (NN.N%) 1
39-
ast-stats - Match 72 (NN.N%) 1
40-
ast-stats - Path 72 (NN.N%) 1
41-
ast-stats - Struct 72 (NN.N%) 1
42-
ast-stats - Lit 144 (NN.N%) 2
43-
ast-stats - Block 216 (NN.N%) 3
44-
ast-stats PathSegment 864 (NN.N%) 36 24
45-
ast-stats Ty 896 (NN.N%) 14 64
46-
ast-stats - Ptr 64 (NN.N%) 1
47-
ast-stats - Ref 64 (NN.N%) 1
48-
ast-stats - ImplicitSelf 128 (NN.N%) 2
49-
ast-stats - Path 640 (NN.N%) 10
504
ast-stats Item 1_584 (NN.N%) 11 144
515
ast-stats - Enum 144 (NN.N%) 1
526
ast-stats - ExternCrate 144 (NN.N%) 1
@@ -55,57 +9,60 @@ ast-stats - Impl 144 (NN.N%) 1
559
ast-stats - Trait 144 (NN.N%) 1
5610
ast-stats - Fn 288 (NN.N%) 2
5711
ast-stats - Use 576 (NN.N%) 4
12+
ast-stats Ty 896 (NN.N%) 14 64
13+
ast-stats - Ptr 64 (NN.N%) 1
14+
ast-stats - Ref 64 (NN.N%) 1
15+
ast-stats - ImplicitSelf 128 (NN.N%) 2
16+
ast-stats - Path 640 (NN.N%) 10
17+
ast-stats PathSegment 864 (NN.N%) 36 24
18+
ast-stats Expr 648 (NN.N%) 9 72
19+
ast-stats - InlineAsm 72 (NN.N%) 1
20+
ast-stats - Match 72 (NN.N%) 1
21+
ast-stats - Path 72 (NN.N%) 1
22+
ast-stats - Struct 72 (NN.N%) 1
23+
ast-stats - Lit 144 (NN.N%) 2
24+
ast-stats - Block 216 (NN.N%) 3
25+
ast-stats Pat 504 (NN.N%) 7 72
26+
ast-stats - Struct 72 (NN.N%) 1
27+
ast-stats - Wild 72 (NN.N%) 1
28+
ast-stats - Ident 360 (NN.N%) 5
29+
ast-stats GenericParam 480 (NN.N%) 5 96
30+
ast-stats GenericBound 352 (NN.N%) 4 88
31+
ast-stats - Trait 352 (NN.N%) 4
32+
ast-stats AssocItem 320 (NN.N%) 4 80
33+
ast-stats - Fn 160 (NN.N%) 2
34+
ast-stats - Type 160 (NN.N%) 2
35+
ast-stats Variant 208 (NN.N%) 2 104
36+
ast-stats FieldDef 208 (NN.N%) 2 104
37+
ast-stats Block 192 (NN.N%) 6 32
38+
ast-stats Stmt 160 (NN.N%) 5 32
39+
ast-stats - Let 32 (NN.N%) 1
40+
ast-stats - Semi 32 (NN.N%) 1
41+
ast-stats - Expr 96 (NN.N%) 3
42+
ast-stats Param 160 (NN.N%) 4 40
43+
ast-stats Attribute 128 (NN.N%) 4 32
44+
ast-stats - DocComment 32 (NN.N%) 1
45+
ast-stats - Normal 96 (NN.N%) 3
46+
ast-stats InlineAsm 120 (NN.N%) 1 120
47+
ast-stats FnDecl 120 (NN.N%) 5 24
48+
ast-stats Local 96 (NN.N%) 1 96
49+
ast-stats Arm 96 (NN.N%) 2 48
50+
ast-stats ForeignItem 80 (NN.N%) 1 80
51+
ast-stats - Fn 80 (NN.N%) 1
52+
ast-stats WherePredicate 72 (NN.N%) 1 72
53+
ast-stats - BoundPredicate 72 (NN.N%) 1
54+
ast-stats ExprField 48 (NN.N%) 1 48
55+
ast-stats GenericArgs 40 (NN.N%) 1 40
56+
ast-stats - AngleBracketed 40 (NN.N%) 1
57+
ast-stats Crate 40 (NN.N%) 1 40
5858
ast-stats ----------------------------------------------------------------
5959
ast-stats Total 7_416 127
6060
ast-stats
6161
hir-stats HIR STATS
6262
hir-stats Name Accumulated Size Count Item Size
6363
hir-stats ----------------------------------------------------------------
64-
hir-stats ForeignItemRef 24 (NN.N%) 1 24
65-
hir-stats Lifetime 28 (NN.N%) 1 28
66-
hir-stats Mod 32 (NN.N%) 1 32
67-
hir-stats ExprField 40 (NN.N%) 1 40
68-
hir-stats TraitItemRef 56 (NN.N%) 2 28
69-
hir-stats GenericArg 64 (NN.N%) 4 16
70-
hir-stats - Type 16 (NN.N%) 1
71-
hir-stats - Lifetime 48 (NN.N%) 3
72-
hir-stats Param 64 (NN.N%) 2 32
73-
hir-stats Body 72 (NN.N%) 3 24
74-
hir-stats ImplItemRef 72 (NN.N%) 2 36
75-
hir-stats InlineAsm 72 (NN.N%) 1 72
76-
hir-stats Local 72 (NN.N%) 1 72
77-
hir-stats WherePredicate 72 (NN.N%) 3 24
78-
hir-stats - BoundPredicate 72 (NN.N%) 3
79-
hir-stats Arm 80 (NN.N%) 2 40
80-
hir-stats Stmt 96 (NN.N%) 3 32
81-
hir-stats - Expr 32 (NN.N%) 1
82-
hir-stats - Let 32 (NN.N%) 1
83-
hir-stats - Semi 32 (NN.N%) 1
84-
hir-stats FnDecl 120 (NN.N%) 3 40
85-
hir-stats FieldDef 128 (NN.N%) 2 64
86-
hir-stats GenericArgs 144 (NN.N%) 3 48
87-
hir-stats Variant 144 (NN.N%) 2 72
88-
hir-stats Attribute 160 (NN.N%) 4 40
89-
hir-stats GenericBound 256 (NN.N%) 4 64
90-
hir-stats - Trait 256 (NN.N%) 4
91-
hir-stats Block 288 (NN.N%) 6 48
92-
hir-stats Pat 360 (NN.N%) 5 72
93-
hir-stats - Struct 72 (NN.N%) 1
94-
hir-stats - Wild 72 (NN.N%) 1
95-
hir-stats - Binding 216 (NN.N%) 3
96-
hir-stats GenericParam 400 (NN.N%) 5 80
97-
hir-stats Generics 560 (NN.N%) 10 56
98-
hir-stats Ty 720 (NN.N%) 15 48
99-
hir-stats - Ptr 48 (NN.N%) 1
100-
hir-stats - Ref 48 (NN.N%) 1
101-
hir-stats - Path 624 (NN.N%) 13
102-
hir-stats Expr 768 (NN.N%) 12 64
103-
hir-stats - InlineAsm 64 (NN.N%) 1
104-
hir-stats - Match 64 (NN.N%) 1
105-
hir-stats - Path 64 (NN.N%) 1
106-
hir-stats - Struct 64 (NN.N%) 1
107-
hir-stats - Lit 128 (NN.N%) 2
108-
hir-stats - Block 384 (NN.N%) 6
64+
hir-stats PathSegment 1_776 (NN.N%) 37 48
65+
hir-stats Path 1_040 (NN.N%) 26 40
10966
hir-stats Item 968 (NN.N%) 11 88
11067
hir-stats - Enum 88 (NN.N%) 1
11168
hir-stats - ExternCrate 88 (NN.N%) 1
@@ -114,8 +71,51 @@ hir-stats - Impl 88 (NN.N%) 1
11471
hir-stats - Trait 88 (NN.N%) 1
11572
hir-stats - Fn 176 (NN.N%) 2
11673
hir-stats - Use 352 (NN.N%) 4
117-
hir-stats Path 1_040 (NN.N%) 26 40
118-
hir-stats PathSegment 1_776 (NN.N%) 37 48
74+
hir-stats Expr 768 (NN.N%) 12 64
75+
hir-stats - InlineAsm 64 (NN.N%) 1
76+
hir-stats - Match 64 (NN.N%) 1
77+
hir-stats - Path 64 (NN.N%) 1
78+
hir-stats - Struct 64 (NN.N%) 1
79+
hir-stats - Lit 128 (NN.N%) 2
80+
hir-stats - Block 384 (NN.N%) 6
81+
hir-stats Ty 720 (NN.N%) 15 48
82+
hir-stats - Ptr 48 (NN.N%) 1
83+
hir-stats - Ref 48 (NN.N%) 1
84+
hir-stats - Path 624 (NN.N%) 13
85+
hir-stats Generics 560 (NN.N%) 10 56
86+
hir-stats GenericParam 400 (NN.N%) 5 80
87+
hir-stats Pat 360 (NN.N%) 5 72
88+
hir-stats - Struct 72 (NN.N%) 1
89+
hir-stats - Wild 72 (NN.N%) 1
90+
hir-stats - Binding 216 (NN.N%) 3
91+
hir-stats Block 288 (NN.N%) 6 48
92+
hir-stats GenericBound 256 (NN.N%) 4 64
93+
hir-stats - Trait 256 (NN.N%) 4
94+
hir-stats Attribute 160 (NN.N%) 4 40
95+
hir-stats Variant 144 (NN.N%) 2 72
96+
hir-stats GenericArgs 144 (NN.N%) 3 48
97+
hir-stats FieldDef 128 (NN.N%) 2 64
98+
hir-stats FnDecl 120 (NN.N%) 3 40
99+
hir-stats Stmt 96 (NN.N%) 3 32
100+
hir-stats - Expr 32 (NN.N%) 1
101+
hir-stats - Let 32 (NN.N%) 1
102+
hir-stats - Semi 32 (NN.N%) 1
103+
hir-stats Arm 80 (NN.N%) 2 40
104+
hir-stats WherePredicate 72 (NN.N%) 3 24
105+
hir-stats - BoundPredicate 72 (NN.N%) 3
106+
hir-stats Local 72 (NN.N%) 1 72
107+
hir-stats InlineAsm 72 (NN.N%) 1 72
108+
hir-stats ImplItemRef 72 (NN.N%) 2 36
109+
hir-stats Body 72 (NN.N%) 3 24
110+
hir-stats Param 64 (NN.N%) 2 32
111+
hir-stats GenericArg 64 (NN.N%) 4 16
112+
hir-stats - Type 16 (NN.N%) 1
113+
hir-stats - Lifetime 48 (NN.N%) 3
114+
hir-stats TraitItemRef 56 (NN.N%) 2 28
115+
hir-stats ExprField 40 (NN.N%) 1 40
116+
hir-stats Mod 32 (NN.N%) 1 32
117+
hir-stats Lifetime 28 (NN.N%) 1 28
118+
hir-stats ForeignItemRef 24 (NN.N%) 1 24
119119
hir-stats ----------------------------------------------------------------
120120
hir-stats Total 8_676 172
121121
hir-stats

0 commit comments

Comments
 (0)