pop vs shift on a array (v42)

Revision 42 of this benchmark created by Roland Pihlakas on


Description

If you can choose between a .pop() or .shift() on a Array, what would be a wise decision?

As my http://jsperf.com/adding-items-array/6 test shows the unshift is awful for performance. The same counts for .shift(), awful performance.

Test runner

Ready to run.

Testing in
TestOps/sec
.pop()
var array1 = new Array(2000);
var i = array1.length;
var x = 0;
while (i--) {
 x += array1.pop();
}
ready
.shift()
var array1 = new Array(2000);
var i = array1.length;
var x = 0;
while (i--) {
 x += array1.shift();
}
ready
.splice beginning
var array1 = new Array(2000);
var i = array1.length;
var x = 0;
while (i--) {
 x += array1[0];
 array1.splice(0, 1);
}
ready
.splice end
var array1 = new Array(2000);
var i = array1.length;
var x = 0;
while (i--) {
 x += array1[i];
 array1.splice(i, 1);
}
ready
Decrement .length
var array1 = new Array(2000);
var i = array1.length;
var x = 0;
while (i--) {
 x += array1[i];
 // Beware, setting the length to < 0 will throw an exception
 --array1.length;
}
ready

Revisions

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