Switch, if, ifelse 세가지 조건문의 성능 비교
function Test(input) {
switch (input) {
case 1: return 1;
case 2: return 2;
case 3: return 3;
case 4: return 4;
case 5: return 5;
case 6: return 6;
case 7: return 7;
}
}
const Timer = Date.now();
for (let i = 0; i < 1000000000; i++) {
Test(i%7+1);
}
console.log(Date.now()-Timer); // 2102
function Test(input) {
if (input == 1) return 1;
if (input == 2) return 2;
if (input == 3) return 3;
if (input == 4) return 4;
if (input == 5) return 5;
if (input == 6) return 6;
if (input == 7) return 7;
}
const Timer = Date.now();
for (let i = 0; i < 1000000000; i++) {
Test(i%7+1);
}
console.log(Date.now()-Timer); // 2102
function Test(input) {
if (input == 1) return 1;
else if (input == 2) return 2;
else if (input == 3) return 3;
else if (input == 4) return 4;
else if (input == 5) return 5;
else if (input == 6) return 6;
if (input == 7) return 7;
}
const Timer = Date.now();
for (let i = 0; i < 1000000000; i++) {
Test(i%7+1);
}
console.log(Date.now()-Timer); // 2117
위의 두 문법은 실행 결과가 같았지만, if else 문법만 약간의 성능 저하가 있었다