Skip to content

Instantly share code, notes, and snippets.

@russellhaering
Created August 26, 2010 01:43
Show Gist options
  • Save russellhaering/550629 to your computer and use it in GitHub Desktop.
Save russellhaering/550629 to your computer and use it in GitHub Desktop.
var sys = require('sys');
var incoming = [];
// Pre-build a giant array of buffers to simulate incoming data
for (i = 0; i < 500000; i++) {
incoming.push(new Buffer('12345678901234567890123456789012345678901234567890123456789012345678901234567890123468901234567890'));
}
function do_test(name, method) {
var i;
for (i = 0; i < 5; i++) {
var start = Date.now();
method();
var finish = Date.now();
sys.error(name + ": " + (finish - start) + " ms (run " + i + ")");
}
}
do_test("String Concatenation", function() {
var i;
var buffer = [];
for (i = 0; i < incoming.length; i++) {
buffer += incoming[i];
}
});
do_test("Buffer Array", function() {
var i;
var buffer = [];
for (i = 0; i < incoming.length; i++) {
buffer.push(incoming[i]);
}
var result = buffer.join('');
});
do_test("String Array", function() {
var i;
var buffer = [];
for (i = 0; i < incoming.length; i++) {
buffer.push(incoming[i].toString());
}
var result = buffer.join('');
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment