@@ -8,15 +8,20 @@ const PRE_COUNT = 1000;
88const rpad = ( s , char , count ) => ( s + char . repeat ( count - s . length ) ) ;
99const lpad = ( s , char , count ) => ( char . repeat ( count - s . length ) + s ) ;
1010
11- benchmark . do = ( count , name , fn ) => {
11+
12+ benchmark . do = ( num , name , fn ) => {
13+ const done = ( ) => {
14+ const end = process . hrtime ( begin ) ;
15+ const diff = end [ 0 ] * 1e9 + end [ 1 ] ;
16+ const time = lpad ( diff . toString ( ) , '.' , 12 ) ;
17+ name = rpad ( name , '.' , 12 ) ;
18+ console . log ( name + time + ' nanoseconds' ) ;
19+ } ;
20+ let count = 0 ;
21+ const next = ( ) => ( ++ count === num && done ? done ( ) : 0 ) ;
1222 const result = [ ] ;
1323 let i ;
14- for ( i = 0 ; i < PRE_COUNT ; i ++ ) result . push ( fn ( ) ) ;
24+ for ( i = 0 ; i < PRE_COUNT ; i ++ ) result . push ( fn ( ( ) => { } ) ) ;
1525 const begin = process . hrtime ( ) ;
16- for ( i = 0 ; i < count ; i ++ ) result . push ( fn ( ) ) ;
17- const end = process . hrtime ( begin ) ;
18- const diff = end [ 0 ] * 1e9 + end [ 1 ] ;
19- const time = lpad ( diff . toString ( ) , '.' , 12 ) ;
20- name = rpad ( name , '.' , 12 ) ;
21- console . log ( name + time + ' nanoseconds' ) ;
26+ for ( i = 0 ; i < num ; i ++ ) result . push ( fn ( next ) ) ;
2227} ;
0 commit comments