Insert and Rotate Array

Benchmark created by dbenny on


Description

Insert into an array and then rotate that array so that inserted value is at index 0

Setup

var arr = [];
    for (var i = 0; i < 10000; i++) {
      arr.push(i);
    };
    var half = Math.floor(arr.length / 2);
      
    function randomInt(max) {
      return Math.floor(Math.random() * (max + 1));
    };

Test runner

Ready to run.

Testing in
TestOps/sec
Slice and Concat
var index = randomInt(arr.length);
var val = randomInt(10000);

var start = arr.slice(index);
var end = arr.slice(index, arr.length);
var result = [val].concat(end, start);

 
ready
For Loop
var index = randomInt(arr.length);
var val = randomInt(10000);

var result = new Array(arr.length + 1);
result[0] = val;

for (var i=index; i<arr.length; i++ ) result.push(arr[i]);
for (var i=0; i<index; i++ ) result.push(arr[i]);

 
ready
For Loop insert on index
var index = randomInt(arr.length);
var val = randomInt(10000);

var result = new Array(arr.length + 1);
result[0] = val;
var j = 1;
for (var i=index; i<arr.length; i++ ) result[j++] = arr[i];
for (var i=0; i<index; i++ ) result[j++] = arr[i];
 
ready

Revisions

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

  • Revision 1: published by dbenny on