summaryrefslogtreecommitdiff
path: root/node_modules/webworker-threads/test/test03_infiniteLoopFunction.js
blob: aca79c16631dfc4ffcd2d0d26555e18de0cf6565 (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
var Threads= require('webworker-threads');

function cb (err, msg) {
  ++i;
  process.stdout.write('['+ this.id+ ']['+ i+ '] -> '+ msg+ '\n');
  //process.stdout.write('['+ this.id+ ']');
}

function ƒ () { while (1) {} }


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

var threads= [];
var t= Date.now();
while (i--) {
  Threads.create().eval(ƒ).eval('ƒ()', cb);
}


i= 0;
(function display () {
  var e= Date.now()- t;
  var tps= (i*1e3/e).toFixed(1);
  console.log('\nTiempo total (ms) -> '+ e);
  console.log('Threads por segundo -> '+ tps);
  console.log('Total de threads ejecutadas -> '+ i);
  setTimeout(display, 1e3);
})();