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 (Android 14; Mobile; rv:143.0) Gecko/143.0 Firefox/143.0
Browser:
Firefox Mobile 143
Operating system:
Android
Device Platform:
Mobile
Date tested:
8 months ago
Test name
Executions per second
map
244571.0 Ops/sec
if/else
45900.2 Ops/sec
swticth
206497.9 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) }