JSFiddle - React, Tailwind, and code Playground

by gunderson

JavaScript

var testFunctions = [];
var testId = 0;
var duration = 2000;

function runNextTest(){
var testFunction = testFunctions[testId];
var startTime = Date.now();
var iterations = 0;
while(Date.now() < startTime + duration){
testFunction();
iterations++;
}
var $result = $("<h2>Test " + testId + "</h2><p>Result: " + (iterations / 1000000) + " million iterations in " + duration + "ms</p>");
$("body").append($result);

if (++testId < testFunctions.length){
	requestAnimationFrame(runNextTest);
}

}


testFunctions.push(function(){
	var arr = [0,1,2,3,4,5,6,7,8,9,10];
	return arr.length = 3;
});

testFunctions.push(function(){
	var arr = [0,1,2,3,4,5,6,7,8,9,10];
  var newA = [];
  var i = -1;
  while(++i <= 3){
  newA.push(arr[i]);
  }
  
	return newA;
});


testFunctions.push(function(){
	var arr = [0,1,2,3,4,5,6,7,8,9,10];
	return arr.quickSlice(0,3);
});

testFunctions.push(function(){
	var arr = [0,1,2,3,4,5,6,7,8,9,10];
	return arr.slice(0,3);
});

testFunctions.push(function(){
	var arr = [0,1,2,3,4,5,6,7,8,9,10];
	return arr.splice(0,3);
})

/*testFunctions.push(function(){
	var arr = [0,1,2,3,4,5,6,7,8,9,10];
	return arr.shift();
})*/


Array.prototype.quickSlice = function(first, len){
	if (len === undefined){
  len = first;
  first = 0;
  }
  var newA = [];
  var i = first-1;
  while(++i < first + len){
  newA.push(this[i]);
  }
  
	return newA;
}


requestAnimationFrame(runNextTest);