Adding items to array (v9)

Revision 9 of this benchmark created on


Description

Various of ways to add items to an array

Test runner

Ready to run.

Testing in
TestOps/sec
Native push
var a = [];
for (var i = 0; i < 2000; i++) {
 a.push(i);
};
ready
Native unshift
var a = [];
for (var i = 0; i < 2000; i++) {
 a.unshift(i);
};
ready
length
var a = [];
for (var i = 0; i < 2000; i++) {
 a[a.length] = i;
};
ready
Cached length
var a = [];
for (var length = 0; length < 2000; length++) {
 a[length] = length;
};
ready
Concat
var a = [];
for (var i = 0; i < 2000; i++) {
 a.concat([i]);
};
ready
alternate unshift
var a = [];
for (var i = 0; i < 2000; i++) {
 a = [i].concat(a)
};
ready
Seeded push 1
var a = new Array(2000);
for (var i = 0; i < 2000; i++) {
 a.push(i);
};
ready
Seeded push 2
var a = [];
a.length = 2000;
for (var i = 0; i < 2000; i++) {
 a.push(i);
};
ready
Seeded unshift 1
var a = new Array(2000);
for (var i = 0; i < 2000; i++) {
 a.unshift(i);
};
ready
Seeded unshift 1
var a = [];
a.length = 2000;
for (var i = 0; i < 2000; i++) {
 a.unshift(i);
};
ready
Array Concat
/* 
var a = [];
for (var i = 0; i < 2000; i++) {
 a.concat(Array(i));
};
** Sorry, I realiced, that in this case this would create an
** Array with i elements.
**
** So just use Array if you have more than 1 Elements.
** I commented that out because of the mistake.
**
** If you want to create an empty Array [] is better.
** But if you want to create Array with content,
** you should use Array(x, y, z, ...).
** Thats because Array() will be parsed as a function call
** applying arguments.
** [x, y, z, ...] is a special case and is slower.
*/
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.