Skip to content

Instantly share code, notes, and snippets.

@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 / 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_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 / 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 / typeOneA.js
Created April 19, 2012 12:28
agility-inject multiple files example
var typeOneAPrototype = exports.typeOneAPrototype = $$( {
model : {},
view : {
format : '<div>obj oneA</div>'
}
}); // typeOneAPrototype
@tristanls
tristanls / nVectorDistance.js
Last active December 25, 2015 06:39
Trying to get the math right for great circle distance in JavaScript
var NVector = module.exports = function NVector (x, y, z) {
var self = this;
self.x = x;
self.y = y;
self.z = z;
};
@tristanls
tristanls / node.js
Created October 19, 2013 01:44
node and seed examples for gossipmoner
var Gossipmonger = require('../index.js');
var gossipmonger = new Gossipmonger(
{
id: String(Math.random()*1E17),
transport: {
host: "0.0.0.0",
port: 9742
}
},
sjcl (http://crypto.stanford.edu/sjcl/)
crypto-js (https://code.google.com/p/crypto-js/)
jsCrypto (https://code.google.com/p/jscryptolib/)
triplesec (https://github.com/keybase/triplesec)
polycrypt (https://github.com/polycrypt)
function dostuff(callback) {
task1(function(x) {
task2(x, function(y) {
task3(y, function(z) {
if (z < 0) {
callback(0);
} else {
callback(z);
});
});
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);
});