JS: Array.reverse() vs while loop (v34)

Revision 34 of this benchmark created by Gabriel Reitz Giannattasio on


Description

Checking performance of Array.reverse() vs a quick while loop.

Setup

var ar = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p'];
    var len = ar.length;
    var backwardI = len - 1;
    var forwardI = 0;
    var j = len - 1;
    var l = len;
    var i = 0;
    var k = 0;
    var t = [];

Test runner

Ready to run.

Testing in
TestOps/sec
Array.reverse()
ar.reverse();
ready
Backward while loop
while (backwardI > -1) {
 ar.push(ar[backwardI]);
 ar.splice(backwardI, 1);
 backwardI--;
}
ready
Forward while loop
while (forwardI < len) {
 var end = (len - 1) - forwardI;
 ar.push(ar[end]);
 ar.splice(end, 1);
 forwardI++;
}
ready
while tmp array
while(l){
  t[i++] = ar[--l];
}
ar = t;
ready
X reverse
while ( i < j ) {
    t = ar[i];
    ar[i++] = ar[j];
    ar[j--] = t;
};
ready

Revisions

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