@@ -41,6 +41,10 @@ struct Args {
41
41
/// Url for each benchmark.
42
42
#[ clap( short, default_value = "http://127.0.0.1:3000" ) ]
43
43
url : String ,
44
+
45
+ /// Cooling down for each benchmark.
46
+ #[ clap( long, default_value = "5" ) ]
47
+ cd : u64 ,
44
48
}
45
49
46
50
#[ derive( Debug , Serialize , Deserialize ) ]
@@ -100,6 +104,8 @@ fn main() {
100
104
let cpu_count = sys. cpus ( ) . len ( ) . to_string ( ) ;
101
105
let conn_count = args. connections . to_string ( ) ;
102
106
let duration = format ! ( "{}s" , args. duration) ;
107
+ let cd = args. cd ;
108
+ let members_len = members. len ( ) ;
103
109
104
110
let rewrk_args = [
105
111
"-t" ,
@@ -131,7 +137,7 @@ fn main() {
131
137
let mut output_map = HashMap :: new ( ) ;
132
138
let mut reports = Vec :: with_capacity ( members. len ( ) ) ;
133
139
134
- for member in & members {
140
+ for ( index , member) in members. iter ( ) . enumerate ( ) {
135
141
if exclude. contains ( member) {
136
142
log:: warn!( "Skipping {:?} because build was failed." , member) ;
137
143
} else {
@@ -204,6 +210,11 @@ fn main() {
204
210
log:: warn!( "Could not parse benchmark result: {}" , stdout) ;
205
211
}
206
212
}
213
+
214
+ // lets CPU cooling down, ignore last member.
215
+ if index != members_len - 1 {
216
+ thread:: sleep ( Duration :: from_secs ( cd) ) ;
217
+ }
207
218
}
208
219
}
209
220
0 commit comments