Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Math.max/min vs if vs ternary vs bitwise - 4 numbers
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/133.0.0.0 Safari/537.36 Edg/133.0.0.0
Browser:
Chrome 133
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
Math.max/min
135129616.0 Ops/sec
if
132669888.0 Ops/sec
ternary
121584368.0 Ops/sec
bitwise
142278688.0 Ops/sec
Script Preparation code:
var x = Math.random() * 1000; var clientX = Math.random() * 1000; var px = Math.random() * 1000; var maxWidth = Math.random() * 1000; function MAX_INT(a, b) { return a - ((a - b) & ((a - b) >> 31)); } function MIN_INT(a, b) { return a - ((a - b) & ((b - a) >> 31)); }
Tests:
Math.max/min
Math.min(Math.max(x + clientX - px, 0), maxWidth) - x
if
if(x + clientX - px < 0) return 0; if(x + clientX - px > 750) return maxWidth; return x + clientX - px;
ternary
return x + clientX - px < 0 ? 0 : (x + clientX - px > maxWidth ? maxWidth : x + clientX - px) - x;
bitwise
MIN_INT(MAX_INT(x + clientX - px, 0), maxWidth)