Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Jump vs switch case vs else if for non-integers
Using a jump hash map vs switch / case vs else if for non-integer values
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (X11; Linux x86_64; rv:121.0) Gecko/20100101 Firefox/121.0
Browser:
Firefox 121
Operating system:
Linux
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
switch case
924.6 Ops/sec
jump hash map object
1108.2 Ops/sec
jump map instance
790.6 Ops/sec
else if
803.1 Ops/sec
Tests:
switch case
function thing(j) { switch(j) { case '0': return "zero"; case '1': return "one"; case '2': return "two"; case '3': return "three"; case '4': return "four"; case '5': return "five"; case '6': return "six"; case '7': return "seven"; case '8': return "eight"; case '9': return "nine"; } } for(let i = 0; i < 100000; i++) { thing((i % 10).toString()); }
jump hash map object
function zero() { return "zero"; } function one() { return "one"; } function two() { return "two"; } function three() { return "three"; } function four() { return "four"; } function five() { return "five"; } function six() { return "six"; } function seven() { return "seven"; } function eight() { return "eight"; } function nine() { return "nine"; } let jumpMap = { '0': zero, '1': one, '2': two, '3': three, '4': four, '5': five, '6': six, '7': seven, '8': eight, '9': nine }; for(let i = 0; i < 100000; i++) { jumpMap[(i % 10).toString()](); }
jump map instance
function zero() { return "zero"; } function one() { return "one"; } function two() { return "two"; } function three() { return "three"; } function four() { return "four"; } function five() { return "five"; } function six() { return "six"; } function seven() { return "seven"; } function eight() { return "eight"; } function nine() { return "nine"; } let jumpMap = new Map(); jumpMap.set('0', zero) jumpMap.set('1', one) jumpMap.set('2', two) jumpMap.set('3', three) jumpMap.set('4', four) jumpMap.set('5', five) jumpMap.set('6', six) jumpMap.set('7', seven) jumpMap.set('8', eight) jumpMap.set('9', nine) for(let i = 0; i < 100000; i++) { jumpMap.get((i % 10).toString())(); }
else if
function thing(j) { if (j === '0') { return 'zero'; } else if (j === '1') { return 'one'; } else if (j === '2') { return 'two'; } else if (j === '3') { return 'three'; } else if (j === '4') { return 'four'; } else if (j === '5') { return 'five'; } else if (j === '6') { return 'six'; } else if (j === '7') { return 'seven'; } else if (j === '8') { return 'eight'; } else if (j === '9') { return 'nine'; } } for(let i = 0; i < 100000; i++) { thing((i % 10).toString()); }