Skip to content

Instantly share code, notes, and snippets.

@NV
Created July 9, 2010 06:05
Show Gist options
  • Select an option

  • Save NV/469112 to your computer and use it in GitHub Desktop.

Select an option

Save NV/469112 to your computer and use it in GitHub Desktop.
var TOTAL = 3000;
// Prepare test data
var b = [];
for (var i=0; i<TOTAL; ++i) {
b[i] = [i];
}
(function(){
var a = [];
var start = new Date;
for (var i=0; i<TOTAL; ++i) {
a = a.concat(b[i]);
}
var end = new Date;
print(" concat: " + (end - start) + "ms");
})();
(function(){
var a = [];
var start = new Date;
for (var i=0; i<TOTAL; ++i) {
a.push.apply(a, b[i]);
}
var end = new Date;
print(" push.apply: " + (end - start) + "ms");
})();
(function(){
var start = new Date;
var a = [];
for (var i=0; i<TOTAL; ++i) {
for (var j=0; j<b[i].length; ++j) {
a[i] = b[i][j]
}
}
var end = new Date;
print( " inner loop: " + (end - start) + "ms" );
})();
(function(){
var start = new Date;
var a = Array.prototype.concat.apply([], b);
var end = new Date;
print("concat.apply: " + (end - start) + "ms");
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment