@@ -31,6 +31,7 @@ fn main() {
3131 input. format ,
3232 input. sort ,
3333 input. limit ,
34+ input. breakdown ,
3435 ) ,
3536 _ => todo ! ( ) ,
3637 }
@@ -56,6 +57,7 @@ fn main() {
5657 input. format ,
5758 input. sort ,
5859 input. limit ,
60+ input. breakdown ,
5961 ) ,
6062 _ => todo ! ( ) ,
6163 }
@@ -96,6 +98,8 @@ pub struct BenchmarkInput {
9698 pub keep : Option < String > ,
9799 /// skip Rust internals
98100 pub skip_internals : bool ,
101+ /// include all inst
102+ pub breakdown : bool ,
99103}
100104
101105impl BenchmarkInput {
@@ -112,6 +116,7 @@ impl BenchmarkInput {
112116 // ...
113117 keep : None ,
114118 skip_internals : true ,
119+ breakdown : false ,
115120 } ;
116121
117122 let mut left_over: Option < String > = None ;
@@ -159,6 +164,9 @@ impl BenchmarkInput {
159164 "--all" => {
160165 this. skip_internals = false ;
161166 }
167+ "--breakdown" => {
168+ this. breakdown = true ;
169+ }
162170 "--arg" => {
163171 let next = args. next ( ) . unwrap ( ) ;
164172 let ( name, values) = next. split_once ( '=' ) . unwrap ( ) ;
@@ -187,6 +195,7 @@ pub fn print_results(
187195 output_format : OutputFormat ,
188196 sorting : Option < utilities:: Sorting > ,
189197 limit : usize ,
198+ breakdown : bool ,
190199) {
191200 use std:: borrow:: Cow ;
192201 use utilities:: count_with_seperator;
@@ -268,11 +277,13 @@ pub fn print_results(
268277 " total: {count}" ,
269278 count = count_with_seperator( row. total as usize )
270279 ) ;
271- for ( name, count) in & row. entries {
272- print ! (
273- " {name}: {count}" ,
274- count = count_with_seperator( * count as usize )
275- ) ;
280+ if breakdown {
281+ for ( name, count) in & row. entries {
282+ print ! (
283+ " {name}: {count}" ,
284+ count = count_with_seperator( * count as usize )
285+ ) ;
286+ }
276287 }
277288 println ! ( ) ;
278289 }
@@ -283,11 +294,18 @@ pub fn print_results(
283294 if buf. len ( ) > 1 {
284295 buf. push ( ',' ) ;
285296 }
286- buf. push_str ( & json_builder_macro:: json! {
287- symbol_name: row. symbol_name. as_str( ) ,
288- total: row. total,
289- kinds: row. entries
290- } ) ;
297+ if breakdown {
298+ buf. push_str ( & json_builder_macro:: json! {
299+ symbol_name: row. symbol_name. as_str( ) ,
300+ total: row. total,
301+ kinds: row. entries
302+ } ) ;
303+ } else {
304+ buf. push_str ( & json_builder_macro:: json! {
305+ symbol_name: row. symbol_name. as_str( ) ,
306+ total: row. total
307+ } ) ;
308+ }
291309 }
292310 buf. push ( ']' ) ;
293311 println ! ( "{buf}" ) ;
0 commit comments