Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
switch vs if-else vs lookup
yo yo
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36
Browser:
Chrome 137
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
10 months ago
Test name
Executions per second
switch
13661512.0 Ops/sec
if/else
13739304.0 Ops/sec
lookup
5333978.0 Ops/sec
pre-cached lookup
168174416.0 Ops/sec
Script Preparation code:
var switch_func = term => { switch (term) { case 'one': return 1; case 'two': return 2; case 'three': return 3; case 'four': return 4; case 'five': return 5; case 'six': return 6; case 'seven': return 7; case 'eight': return 8; case 'nine': return 9; case 'ten': return 10; case 'eleven': return 11; case 'twelve': return 12; case 'thirteen': return 13; case 'fourteen': return 14; case 'fifteen': return 15; case 'sixteen': return 16; case 'seventeen': return 17; case 'eighteen': return 18; case 'nineteen': return 19; case 'twenty': return 20; } }; var ifelse_func = term => { if (term === 'one') { return 1; } else if (term === 'two') { return 2; } else if (term === 'three') { return 3; } else if (term === 'four') { return 4; } else if (term === 'five') { return 5; } else if (term === 'six') { return 6; } else if (term === 'seven') { return 7; } else if (term === 'eight') { return 8; } else if (term === 'nine') { return 9; } else if (term === 'ten') { return 10; } else if (term === 'eleven') { return 11; } else if (term === 'twelve') { return 12; } else if (term === 'thirteen') { return 13; } else if (term === 'fourteen') { return 14; } else if (term === 'fifteen') { return 15; } else if (term === 'sixteen') { return 16; } else if (term === 'seventeen') { return 17; } else if (term === 'eighteen') { return 18; } else if (term === 'nineteen') { return 19; } else if (term === 'twenty') { return 20; } }; var lookup_func = term => { var lookup = { one: 1, two: 2, three: 3, four: 4, five: 5, six: 6, seven: 7, eight: 8, nine: 9, ten: 10, eleven: 11, twelve: 12, thirteen: 13, fourteen: 14, fifteen: 15, sixteen: 16, seventeen: 17, eighteen: 18, nineteen: 19, twenty: 20, }; return lookup[term]; }; var cached_lookup = { one: 1, two: 2, three: 3, four: 4, five: 5, six: 6, seven: 7, eight: 8, nine: 9, ten: 10, eleven: 11, twelve: 12, thirteen: 13, fourteen: 14, fifteen: 15, sixteen: 16, seventeen: 17, eighteen: 18, nineteen: 19, twenty: 20, }; var cached_lookup_func = term => cached_lookup[term];
Tests:
switch
switch_func('one'); switch_func('seven'); switch_func('twelve'); switch_func('ten'); switch_func('nineteen'); switch_func('three'); switch_func('thirteen'); switch_func('eight'); switch_func('seventeen'); switch_func('two'); switch_func('five'); switch_func('eighteen'); switch_func('twenty'); switch_func('nine'); switch_func('eleven'); switch_func('fourteen'); switch_func('six'); switch_func('fifteen'); switch_func('sixteen'); switch_func('four');
if/else
ifelse_func('one'); ifelse_func('seven'); ifelse_func('twelve'); ifelse_func('ten'); ifelse_func('nineteen'); ifelse_func('three'); ifelse_func('thirteen'); ifelse_func('eight'); ifelse_func('seventeen'); ifelse_func('two'); ifelse_func('five'); ifelse_func('eighteen'); ifelse_func('twenty'); ifelse_func('nine'); ifelse_func('eleven'); ifelse_func('fourteen'); ifelse_func('six'); ifelse_func('fifteen'); ifelse_func('sixteen'); ifelse_func('four');
lookup
lookup_func('one'); lookup_func('seven'); lookup_func('twelve'); lookup_func('ten'); lookup_func('nineteen'); lookup_func('three'); lookup_func('thirteen'); lookup_func('eight'); lookup_func('seventeen'); lookup_func('two'); lookup_func('five'); lookup_func('eighteen'); lookup_func('twenty'); lookup_func('nine'); lookup_func('eleven'); lookup_func('fourteen'); lookup_func('six'); lookup_func('fifteen'); lookup_func('sixteen'); lookup_func('four');
pre-cached lookup
cached_lookup_func('one'); cached_lookup_func('seven'); cached_lookup_func('twelve'); cached_lookup_func('ten'); cached_lookup_func('nineteen'); cached_lookup_func('three'); cached_lookup_func('thirteen'); cached_lookup_func('eight'); cached_lookup_func('seventeen'); cached_lookup_func('two'); cached_lookup_func('five'); cached_lookup_func('eighteen'); cached_lookup_func('twenty'); cached_lookup_func('nine'); cached_lookup_func('eleven'); cached_lookup_func('fourteen'); cached_lookup_func('six'); cached_lookup_func('fifteen'); cached_lookup_func('sixteen'); cached_lookup_func('four');