Skip to content

Instantly share code, notes, and snippets.

@tristanls
tristanls / nextTick.js
Created December 22, 2011 22:23 — forked from xk/nextTick.js
nextTick.js
(function (ctr,t) {
function inc () { ctr++ }
function display (ntps,ntpsStr,i,lps,lpsStr,ratioStr) {
ntps= ctr*1e3/(Date.now()-t); //nextTicks per second
ntpsStr= ", nextTicksPerSecond: "+ ntps.toFixed(1);
ctr= 0;
i= 100e6;
@tristanls
tristanls / loop_v_nextTick_bm_no_closures.js
Created December 22, 2011 16:07
loop v nextTick benchmark ( no closures )
var startLoop;
var startNextTick;
var size = 1000000; // million
var loopCount = 0;
var noop = 0;
var loopTest = function () {
loopCount++;
if ( loopCount < ( size - 1 ) )
@tristanls
tristanls / loop_v_nextTick_no_closures.js
Created December 21, 2011 23:32
loop v. nextTick benchmark ( no closures )
var startFast;
var startSlow;
var size = 1000000; // million
var loopCount = 0;
var loopTest = function () {
loopCount++;
if ( loopCount == ( size - 1 ) )
console.log( 'loop result: ' + ( new Date() - startFast ) + 'ms' );
@tristanls
tristanls / loop_v_nextTick.js
Created December 21, 2011 21:11
loop v. nextTick benchmark
var startFast;
var startSlow;
var size = 1000000; // million
var fast = function () {
for ( var i = 0; i < size; i++ ) {
( function () {
var j = i;
return function () {
@tristanls
tristanls / gist:b47430985858978669b7
Created May 13, 2015 01:12
example json response
{
"message": "hello there",
"status": "200 OK"
}
  1. General Background and Overview
dostuffEmitter.on('task1', function (callback) {
dostuffEmitter.emit('task3', x, callback);
});
dostuffEmitter.on('task2', function (x, callback) {
dostuffEmitter.emit('finish', y, callback);
});
dostuffEmitter.on('task3', function (y, callback) {
dostuffEmitter.emit('task2', z, callback);
dostuffEmitter.on('task2', function (x, callback) {
if (error) {
dostuffEmitter.emit('error', error);
return;
}
dostuffEmitter.emit('telemetry', someMetricHere);
dostuffEmitter.emit('task3', y, callback);
});
var dostuffEmitter = new EventEmitter();
dostuffEmitter.on('task1', function (callback) {
if (error) {
dostuffEmitter.emit('error', error);
return;
}
dostuffEmitter.emit('task2', x, callback);
});
var dostuffEmitter = new EventEmitter();
dostuffEmitter.on('task1', function (callback) {
dostuffEmitter.emit('task2', x, callback);
});
dostuffEmitter.on('task2', function (x, callback) {
dostuffEmitter.emit('task3', y, callback);
});