Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
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:
one month ago
Test name
Executions per second
branchless
81803656.0 Ops/sec
Math.min (cached)
90934264.0 Ops/sec
Math.min (uncached)
77834704.0 Ops/sec
Min w/ Ternary
83542584.0 Ops/sec
Min w/ If
74606208.0 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())