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);