Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
map vs if/else vs switch
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/121.0.0.0 Safari/537.36 Edg/121.0.0.0
Browser:
Chrome 121
Operating system:
Windows
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
map lookup
1455567.6 Ops/sec
switch case
1521148.2 Ops/sec
if/else
1532322.1 Ops/sec
Script Preparation code:
var map = new Map([ [0, "Initializing"], [1, "Idle"], [2, "Running"], [3, "Stop"], [4, "Error"], ]); function switchCase(value) { switch (value) { case 0: return "Initializing"; case 1: return "Idle"; case 2: return "Running"; case 3: return "Stop"; case 4: return "Error"; default: return void 0; } } function ifElse(value) { if (value === 0) { return "Initializing"; } else if (value === 1) { return "Idle"; } else if (value === 2) { return "Running"; } else if (value === 3) { return "Stop"; } else if (value === 4) { return "Error"; } }
Tests:
map lookup
let value = map.get(0); value = map.get(32); value = map.get(1); value = map.get(33); value = map.get(2); value = map.get(34); value = map.get(3); value = map.get(35); value = map.get(4);
switch case
let value = switchCase(0); value = switchCase(32); value = switchCase(1); value = switchCase(33); value = switchCase(2); value = switchCase(34); value = switchCase(3); value = switchCase(35); value = switchCase(4);
if/else
let value = ifElse(0); value = ifElse(32); value = ifElse(1); value = ifElse(33); value = ifElse(2); value = ifElse(34); value = ifElse(3); value = ifElse(35); value = ifElse(4);