JSFiddle - React, Tailwind, and code Playground
HTML
<p>if else <span id="if">.</span>ms</p>
<p>switch <span id="sw">.</span>ms</p>
<p><span id="speed">.</span>
</p>
JavaScript
var tNone, t1to4, t5to8, t9to11, i, max = 10000000,
start, d, x, tIf, tSw;
tNone = 0;
t1to4 = 0;
t5to8 = 0;
t9to11 = 0;
start = new Date().getTime();
for (i = 0; i < max; i++) {
d = Math.floor(Math.random() * 13);
if (1 <= d && d <= 11) {
if (d <= 4) {
t1to4++;
} else if (d <= 8) {
t5to8++;
} else {
t9to11++;
}
} else {
tNone++;
}
}
tIf = new Date().getTime() - start;
$("#if").text(tIf);
start = new Date().getTime();
for (i = 0; i < max; i++) {
x = Math.floor(Math.random() * 13);
switch (true) {
case (x >= 1 && x < 5):
t1to4++;
break;
case (x > 4 && x < 9):
t5to8++;
break;
case (x > 8 && x < 12):
t9to11++;
break;
default:
tNone++;
break;
}
}
tSw = new Date().getTime() - start;
$("#sw").text(tSw);
if (tSw > tIf) {
var p = Math.round((tSw / tIf - 1) * 100);
$("#speed").text("switch takes " + p + "% more time than if");
} else {
var p = Math.round((tIf / tSw - 1) * 100);
$("#speed").text("if takes " + p + "% more time than switch");
}