JSFiddle - React, Tailwind, and code Playground
by gutek
JavaScript
var obj = {
utils: {
macro: {
word: function() {
return 'hello';
}
}
}
};
var ar = [], x;
for(x = 0; x < 1000000; x++) {
ar[x] = x;
}
function slow() {
var i;
for(i = 0; i < 10000000; i += 1) {
obj.utils.macro.word();
}
}
function slowArray(r) {
var i, j;
for(j = 0; j < r; j += 1) {
for(i = 0; i < ar.length; i += 1) {
ar[i];
}
}
}
function slowArray2(r) {
var i, j;
for(j = 0; j < r; j += 1) {
for(i in ar) {
if (ar.hasOwnProperty(i)) {
ar[i];
}
}
}
}
function slowArray3(r) {
var i, j;
for(j = 0; j < r; j += 1) {
ar.forEach(function(element, index, arrayi) {
element;
});
}
}
function fastArray(r) {
var i, l = ar.length, j;
for(j = 0; j < r; j += 1) {
for(i = 0; i < l; i += 1) {
ar[i];
}
}
}
function fast() {
var i, l = obj.utils.macro.word;
for(i = 0; i < l; i += 1) {
l();
}
}
function mainLoop() {
var i;
for(i = 0; i < 2; i += 1) {
if(i === 0) {
console.time('slow');
slowArray(50);
console.timeEnd('slow');
console.time('slow2');
//slowArray2(25);
console.timeEnd('slow2');
console.time('slow3');
//slowArray3(25);
console.timeEnd('slow3');
} else {
console.time('fast');
fastArray(50);
console.timeEnd('fast');
}
}
}
mainLoop();