JSFiddle - React, Tailwind, and code Playground
by Tejus Pratap
HTML
<script src="http://goo.gl/t0zZZ5"></script>
<script src="http://goo.gl/2mV3tc"></script>
Loaded data URL : <a target="_blank" href="http://goo.gl/t0zZZ5">http://goo.gl/t0zZZ5</a>
<br/>
<br/>Result A :
<div id="aresult"></div>Time taken for Length cached For Loop :
<div id="atimer">Running Test...</div>
<br/>Result B :
<div id="bresult"></div>Time taken for Halved For Loop :
<div id="btimer">Running Test...</div>
CSS
#atimer, #btimer {
color:green
}
;
JavaScript
var count1 = 0;
var count2 = 0;
var searchterm = "face";
var arrayLength = mainArray.length;
var timer1 = new Timer();
var timer2 = new Timer();
function testIterationA() {
//Start of first iteration method
for (var i = 0, len = arrayLength; i < len; i++) {
if (mainArray[i].search(new RegExp(searchterm, "i")) > -1) {
count1 += 1;
}
}
jQuery("#aresult").html(count1);
//End Of First Iteration Method
}
function testIterationB() {
//Start of second method
var firstHalfLen = 0;
var secondHalfLen = 0;
var halfLen = arrayLength / 2;
if (arrayLength % 2 == halfLen) {
firstHalfLen = Math.ceil(halfLen);
secondHalfLen = Math.floor(halfLen);
} else {
firstHalfLen = halfLen;
secondHalfLen = halfLen;
}
for (var firstHalfCOunter = 0, secondHalfCounter = arrayLength - secondHalfLen; firstHalfCOunter < firstHalfLen; firstHalfCOunter++) {
if (mainArray[firstHalfCOunter].search(new RegExp(searchterm, "i")) > -1) {
count2 += 1;
}
if (secondHalfCounter < arrayLength) {
if (mainArray[secondHalfCounter].search(new RegExp(searchterm, "i")) > -1) {
count2 += 1;
}
secondHalfCounter++;
}
}
jQuery("#bresult").html(count2);
//End of second method
}
//Run after JSFiddle UI is up
setTimeout(function () {
timer1.profile(testIterationA, 5)
jQuery("#atimer").html(timer1.microseconds());
timer2.profile(testIterationB, 5)
jQuery("#btimer").html(timer2.microseconds());
}, 1000);