UNPKG

laps

Version:

Simple flow-control lib for Node.js: combine sync/async steps, organize your spaghetti-code

97 lines (85 loc) 2.09 kB
var dns = require('dns'); var Laps = require('../../lib'); function isPrime(num) { if (num < 2) return false; for (var i = 2; i < num; ++i) { if (num % i === 0) return false; } return true; } function nextPrime(num, handler) { for (var i = num + 1; ; ++i) { if (isPrime(i)) { handler(i); return; } } } var count = 10000; var startNum = 10000; function testLaps(){ console.log('TEST LAPS'); var start = new Date(); var findPrime = function() { new Laps() .lap(function() { nextPrime(startNum, this.cb('calc')); }).lap(function() { nextPrime(this.val, this.cb('calc')); }).lap(function() { nextPrime(this.val, this.cb('calc')); }).lap(function() { nextPrime(this.val, this.cb('calc')); }).lap(function() { nextPrime(this.val, this.cb('calc')); }).lap(function() { nextPrime(this.val, this.cb('calc')); }).lap(function() { nextPrime(this.val, this.cb('calc')); }).lap(function() { nextPrime(this.val, this.cb('calc')); }).lap(function() { nextPrime(this.val, this.cb('calc')); }).cmd('calc', function(val) { this.val = val; }).on('finish', function() { //console.log (this.val); }).run(); }; for (var i = 0; i < count; ++i) { findPrime(); } console.log(new Date() - start); } function testNode(){ console.log('TEST NODE'); var start = new Date(); var findPrime = function() { nextPrime(startNum, function(val){ nextPrime(val, function(val){ nextPrime(val, function(val){ nextPrime(val, function(val){ nextPrime(val, function(val){ nextPrime(val, function(val){ nextPrime(val, function(val){ nextPrime(val, function(val){ nextPrime(val, function(val){ //console.log (val); }); }); }); }); }); }); }); }); }); }; for (var i = 0; i < count; ++i) { findPrime(); } console.log(new Date() - start); } testLaps(); testNode();