summaryrefslogtreecommitdiff
path: root/node_modules/webworker-threads/test/test15_emit_ping_pong.js
blob: 98946a67a0fc060c5fda0988f2748eea780731be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var t= require('webworker-threads');

function eventHandler (data) {
  ctr++;
  this.emit('b', 0);
}

function boot () {
  thread.on('b', eventHandler);
  
  function eventHandler (data) {
    thread.emit('a', 0);
  }
}

var ctr= 0;
var i= +process.argv[2] || 1;
console.log('Using '+ i+ ' threads');

var pool= t.createPool(i);
pool.all.eval(boot).all.eval('boot()').on('a', eventHandler).all.emit('b', 0).all.emit('b', 0).all.emit('b', 0);


var s= Date.now();
function display () {
  var e= Date.now()- s;
  var ppps= (ctr*1e3/e).toFixed(1);
  console.log("ping-pongs: "+ ctr+ ", ping-pongs-per-second: "+ ppps);
}

setInterval(display, 1e3);