rafa
Version:
Rafa.js is a Javascript framework for building concurrent applications.
50 lines (45 loc) • 1.18 kB
JavaScript
var Rafa = require(__dirname+'/../../../dist/rafa.js');
var Stream = Rafa.Stream;
var Context = Rafa.Context;
var Message = Rafa.Message;
var Tree = createTree(id);
require(__dirname+"/../bench.js")(
{
name: 'Stream Create Tree Sync',
test: function(d) {
createTree(id).push(
new Context(function() { d.resolve(); }),
new Message(1)
);
}
}, {
name: 'Stream Create Tree Async',
test: function(d) {
var handler = function(m) { return Promise.resolve(new Message(m)); };
createTree(handler).push(
new Context(function() { d.resolve(); }),
new Message(1)
);
}
}, {
name: 'Stream Tree Sync',
test: function(d) {
Tree.push(
new Context(function() { d.resolve(); }),
new Message(1)
);
}
}
);
function id(v) { return v; }
function createTree(handler) {
var a = new Stream(null, handler);
var b = new Stream(a, handler);
var c = new Stream(a, handler);
var d = new Stream(b, handler);
var e = new Stream(b, handler);
var f = new Stream(d, handler);
var g = new Stream(e, handler);
var h = new Stream(c, handler);
return a;
}