Skip to content

Instantly share code, notes, and snippets.

@andrewrk
Created December 26, 2012 20:35
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save andrewrk/4382935 to your computer and use it in GitHub Desktop.
Save andrewrk/4382935 to your computer and use it in GitHub Desktop.
benchmarking a couple zfill implementations in node
zfill1
it took 149
zfill2
it took 629
function zfill1(number, size) {
number = number.toString();
while (number.length < size) number = "0" + number;
return number;
}
function zfill2(number, places) {
number = number.toString();
var zero = places - number.length + 1;
return new Array(+(zero > 0 && zero)).join("0") + number;
}
function time(cb) {
var begin = new Date();
cb();
var end = new Date();
console.info("it took", end - begin);
}
function benchit(fn) {
time(function() {
for (var i = 0; i < 100000; ++i) {
var size = Math.floor(Math.random() * 100);
fn(i, size);
}
});
}
console.info("zfill1");
benchit(zfill1);
console.info("zfill2");
benchit(zfill2);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment