Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
map vs ifelse vs switch test
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36
Browser:
Chrome 129
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
map
16389.6 Ops/sec
if/else
16119.0 Ops/sec
swticth
15812.5 Ops/sec
Script Preparation code:
const statusMap = new Map([ [0, 'zero'], [1, 'one'], [2, 'two'], [3, 'three'], [4, 'four'], ]); function getStatusByMap(value) { return statusMap.get(value); }; function getStatusBySwitch(value) { switch (value) { case 0: return 'zero'; case 1: return 'one'; case 2: return 'two'; case 3: return 'three'; case 4: return 'four'; default: return 'Undefined'; } }; function getStatusByIfElse(value) { if (value === 0) { return 'Initializing'; } else if (value === 1) { return 'zero'; } else if (value === 2) { return 'one'; } else if (value === 3) { return 'two'; } else if (value === 4) { return 'Error'; } }; var i = 0; var count = 1000; var a;
Tests:
map
for (i = 0; i < count; i++) { getStatusByMap(i % 5) }
if/else
for (i = 0; i < count; i++) { getStatusByIfElse(i % 5) }
swticth
for (i = 0; i < count; i++) { getStatusBySwitch(i % 5) }