Ignore:
Timestamp:
Jan 25, 2020, 9:34:54 AM (5 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
6f302cd
Parents:
052dfc3
Message:

update Nodejs experiment for concurrency paper

File:
1 edited

Legend:

Unmodified
Added
Removed
  • benchmark/ctxswitch/node_await.js

    r052dfc3 r8633485b  
    1 var times = 1000000
     1var times = 5000000
    22var argc = process.argv.length // node, path
    33if ( argc > 3 ) process.exit( 1 )
    44if ( argc == 3 ) times = Number( process.argv[2] )
    55
    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     );
     6function instant() {
     7     return new Promise(function(rs) {
     8         setImmediate(rs);
     9     });
    1610}
    1711
    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 );
     12async 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}
    2520
    26 var hrstart = process.hrtime()
    27 resolve();
     21l();
    2822
    2923// Local Variables: //
Note: See TracChangeset for help on using the changeset viewer.