Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
switch vs if (3)
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/122.0.0.0 Safari/537.36
Browser:
Chrome 122
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
switch
2025169.1 Ops/sec
if
2433621.2 Ops/sec
HTML Preparation code:
<script> var arr = []; var res = [0, 0]; var generateRandomInteger = function(min, max) { return Math.floor(min + Math.random() * (max - min + 1)) } var test01 = function() { let k = 0; for (const v of arr) { switch (v) { case 1: k += 1; break; case 2: k += 2; break; case 3: k += 3; break; case 4: k += 5; break; case 5: k += 7; break; case 6: k += 11; break; case 7: k += 13; break; case 8: k += 17; break; default: k += 19;; } } res[0] = k; } var test02 = function() { let k = 0; for (const v of arr) { if (v === 1) { k += 1; } else if (v === 2) { k += 2; } else if (v === 3) { k += 3; } else if (v === 4) { k += 5; } else if (v === 5) { k += 7; } else if (v === 6) { k += 11; } else if (v === 7) { k += 13; } else if (v === 8) { k += 17; } else { k += 19; } } res[1] = k; } </script>
Script Preparation code:
Benchmark.prototype.setup = function() { arr = new Array(256).fill(0).map(e => generateRandomInteger(1, 16)); if (test01() !== test02()) throw new Error('test error'); }; Benchmark.prototype.teardown = function() { arr.length = 0; res = [0, 0]; }
Tests:
switch
test01();
if
test02();