Array unshift vs prepend (v22)

Revision 22 of this benchmark created on


Preparation HTML

<script>
  var a;
  var prependArray = function(value, oldArray) {
   var i, len = oldArray.length + 1,
       newArray = new Array(len);
   newArray[0] = value;
   for (i = 0; i < len; ++i) {
    newArray.push(oldArray[i]);
   }
   return newArray;
  }

  var prependArray2 = function(value, oldArray) {
   var i, len = oldArray.length + 1,
       newArray = new Array(len);
   newArray[0] = value;
   return newArray.concat(oldArray);
  }
</script>

Setup

a = [1, 2, 3, 4];

Test runner

Ready to run.

Testing in
TestOps/sec
Unshift
a.unshift(0, 1,2,3);
ready
Prepend function
prependArray(0, a);
ready
Unshift without mutation
a.slice(0).unshift(0,1,2,3);
ready
splice
a.splice(0,0,0);
ready
Prepend2 function
prependArray2(0, a);
ready

Revisions

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