@@ -16,6 +16,16 @@ const logStart = (n) => {
1616}
1717const results = [ ]
1818
19+ const shuffler = ( array ) => {
20+ for ( let i = array . length - 1 ; i > 0 ; i -- ) {
21+ var j = Math . floor ( Math . random ( ) * ( i + 1 ) )
22+ var temp = array [ i ]
23+ array [ i ] = array [ j ]
24+ array [ j ] = temp
25+ }
26+ return array
27+ }
28+
1929const formatBytes = ( bytes ) => {
2030 if ( bytes === 0 ) return '0 Byte'
2131 let k = 1000
@@ -60,14 +70,16 @@ const bencher = (title) => new Promise((resolve, reject) => {
6070 results . push ( res )
6171 return resolve ( title )
6272 }
63- let acOpts = { url : `http://localhost:${ port } /hello` , title, duration : 5 }
64- let instance = autocannon ( acOpts , done )
65- process . once ( 'SIGINT' , ( ) => instance . stop ( ) )
73+ let acOpts = { url : `http://localhost:${ port } /hello` , title}
74+ autocannon ( Object . assign ( { duration : 3 } , acOpts ) , ( ) => {
75+ autocannon ( Object . assign ( { duration : 7 } , acOpts ) , done )
76+ } )
6677} )
6778
6879async function bench ( ) {
6980 console . log ( `servers running, starting benchmarks\n` )
70- for ( let name in ports ) await bencher ( name )
81+ let keys = shuffler ( Object . keys ( ports ) )
82+ for ( let name of keys ) await bencher ( name )
7183 let head = [ 'lib' , 'req/sec' , 'latency' , 'throughput' ] . map ( ( h ) => {
7284 return { alias : h }
7385 } )
0 commit comments