Test name | Executions per second |
---|---|
if | 146164656.0 Ops/sec |
switch | 145137392.0 Ops/sec |
lookup with strings | 71823064.0 Ops/sec |
lookup with number | 41335268.0 Ops/sec |
lookup in array | 43572224.0 Ops/sec |
<!--your preparation HTML code goes here-->
const f1 = () => {}
const f2 = () => {}
const f3 = () => {}
const f4 = () => {}
const f5 = () => {}
function getFnIf(level) {
if (level === "info") return f1;
else if (level === "warn") return f2;
else if (level === "error") return f3;
else if (level === "fatal") return f4;
else return f5;
}
function getFnSwitch(level) {
switch (level) {
case "warn":
return f1;
case "info":
return f2;
case "error":
return f3;
case "fatal":
return f4;
default:
return f5;
}
}
const lookup = {
'info': f1,
'warn': f2,
'error': f3,
'fatal': f4
}
function getFnLookupString(level) {
return lookup[level] || f5
}
const lookupN = {
'1': f1,
'2': f2,
'3': f3,
'4': f4
}
function getFnLookupN(level) {
return lookupN[level] || f5
}
const arr = [f1,f2,f3,f4,f5]
function getFnLookupA(level) {
return arr[level] || f5
}
getFnIf('info')
getFnIf('warn')
getFnIf('error')
getFnIf('fatal')
getFnIf()
getFnSwitch('info')
getFnSwitch('warn')
getFnSwitch('error')
getFnSwitch('fatal')
getFnSwitch()
getFnLookupString('info')
getFnLookupString('warn')
getFnLookupString('error')
getFnLookupString('fatal')
getFnLookupString()
getFnLookupN('1')
getFnLookupN('2')
getFnLookupN('3')
getFnLookupN('4')
getFnLookupN()
getFnLookupA(0)
getFnLookupA(1)
getFnLookupA(2)
getFnLookupA(3)
getFnLookupA()