Skip to content

Instantly share code, notes, and snippets.

@terrancesnyder
Created November 21, 2012 20:19
Show Gist options
  • Save terrancesnyder/4127392 to your computer and use it in GitHub Desktop.
Save terrancesnyder/4127392 to your computer and use it in GitHub Desktop.
Producer Example NodeJS (225k/second without a consumer, 185k with a consumer)
var zmq = require('zmq'),
sock = zmq.socket('push'),
_ = require('underscore');
// increase swap for high water mark
zmq.options.swap = 1024;
zmq.options.hwm = 0;
// zmq.options.rate = 800000;
sock.bind('tcp://127.0.0.1:3000', function(err) {
console.log('Producer bound to port 3000');
var counter = 0;
var debug = 0;
var startTime = new Date();
var endTime;
var ms;
var notify = function() {
for (var i=0; i<=100000000; i++) {
sock.send(counter);
counter = counter + 1;
debug = debug + 1;
if (debug >= 200000) {
debug = 0;
endTime = new Date();
ms = endTime - startTime
console.log("ms : ", ms, " ", (counter/ms)*1000);
}
}
};
// force delay to allow sock to catch up
_.delay(notify, 1000);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment