Test swapping of first to last (v5)

Revision 5 of this benchmark created by ZD on


Setup

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];
  
  function shortEm(b) {
    var a = [],
      i, len = b.length - 1;
    for (var i = 0; i < len; i++) {
      a[i] = b[i + 1];
    }
    a[len] = b[0];
    return a;
  }
  
  
  function inPlace(b) {
   var t = b[0], len = b.length - 1;
    for (var i = 0; i < len; i++) {
      b[i] = b[i + 1];
    }
    b[len] = t;
  }

Test runner

Ready to run.

Testing in
TestOps/sec
shift-push
var b = arr.shift();
arr.push(b);
ready
splice-push
var b = arr.splice(0, 1);
arr.push(b);
ready
slice-push
var b = arr[0];
arr = arr.slice(1);
arr.push(b);
ready
shift-addIndex
var b = arr.shift();
arr[arr.length] = b;
ready
splice-addIndex
var b = arr.splice(0, 1);
arr[arr.length] = b;
ready
slice-addIndex
var b = arr[0];
arr = arr.slice(1);
arr[arr.length] = b;
ready
loop
arr = shortEm(arr);
ready
axo
arr.push(arr.shift());
ready
zd
inPlace(arr);
ready

Revisions

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