summaryrefslogtreecommitdiff
path: root/node_modules/webworker-threads/test/test11_multi_callbacks.js
blob: 9db42621967dc9b10d7d935ed947d5d49cd7a0af (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
32
33
34
35
36
37
38
var Threads= require('webworker-threads');

function A (err, msg) {
  i++;
  this.eval('', B);
  process.stdout.write('A');
}

function B (err, msg) {
  i++;
  this.eval('', C);
  process.stdout.write('B');
}

function C (err, msg) {
  i++;
  this.eval('', A);
  process.stdout.write('C');
}

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

while (i--) {
  Threads.create().eval('0', A);
  process.stdout.write('.');
}

i= 0;
var t= Date.now();
setInterval(function display () {
  var e= Date.now()- t;
  var tps= (i*1e3/e).toFixed(1);
  process.stdout.write('\nt (ms) -> '+ e+ ', i -> '+ i+ ', tps -> '+ tps);
}, 1e3);