Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
Feature Requests
FAQ
Register
Log In
Run results for:
branchless min vs Math.min vs cached min vs ternary vs if (2 values)
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.7.2 Mobile/15E148 Safari/604.1
Browser:
Mobile Safari 18
Operating system:
iOS 18.7
Device Platform:
Mobile
Date tested:
4 months ago
Benchmark engine:
Benchmark.js
Math.min (cached)
90.9M/s
Min w/ Ternary
83.5M/s
branchless
81.8M/s
Math.min (uncached)
77.8M/s
Min w/ If
74.6M/s
View exact numbers
Test name
Executions per second
✓
Math.min (cached)
90,934,264 Ops/sec
Min w/ Ternary
83,542,584 Ops/sec
branchless
81,803,656 Ops/sec
Math.min (uncached)
77,834,704 Ops/sec
Min w/ If
74,606,208 Ops/sec
Script Preparation code:
var rnd = Math.random; var branchlessMin = (a, b) => (a > b) * b + (a <= b) * a; var mathMin = Math.min; var minTernary = (a, b) => a > b ? b : a; var minIf = (a, b) => { if (a > b) { return b; } else { return a; }; };
Tests:
branchless
return branchlessMin(rnd(), rnd());
Math.min (cached)
return mathMin(rnd(), rnd());
Math.min (uncached)
return Math.min(rnd(), rnd());
Min w/ Ternary
return minTernary(rnd(), rnd())
Min w/ If
return minIf(rnd(), rnd())