- File:
-
- 1 edited
-
benchmark/ctxswitch/node_await.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
benchmark/ctxswitch/node_await.js
r8633485b r7ac3151 1 var times = 50000001 var times = 1000000 2 2 var argc = process.argv.length // node, path 3 3 if ( argc > 3 ) process.exit( 1 ) 4 4 if ( argc == 3 ) times = Number( process.argv[2] ) 5 5 6 function instant() { 7 return new Promise(function(rs) { 8 setImmediate(rs); 9 }); 6 var p = new Promise( 7 function( rs ) { 8 resolve = rs; 9 } 10 ); 11 12 for ( var i = 0; i < times; i += 1 ) { 13 p = p.then( 14 () => { return } 15 ); 10 16 } 11 17 12 async function l() { 13 var hrstart = process.hrtime() 14 for ( var i = 0; i < times; i += 1 ) 15 await instant(); 16 hrend = process.hrtime( hrstart ) 17 var dur = (1000000000 * hrend[0] + hrend[1]) / times 18 console.log( dur ) 19 } 18 p = p.then( 19 () => { 20 hrend = process.hrtime( hrstart ) 21 var dur = (1000000000 * hrend[0] + hrend[1]) / times 22 console.log( dur ) 23 } 24 ); 20 25 21 l(); 26 var hrstart = process.hrtime() 27 resolve(); 22 28 23 29 // Local Variables: //
Note:
See TracChangeset
for help on using the changeset viewer.