function vs. Math.min vs. if condition (v14)

Revision 14 of this benchmark created by Niels Lyngsø on


Test runner

Ready to run.

Testing in
TestOps/sec
function
function getMin(a, b) {
 return (a < b) ? a : b;
}

var num, min;

for (var i = 0; i < 100; i++) {
 min = (Math.random() * 100) >> 0;
 num = (Math.random() * 100) >> 0;
 num = getMin(min, num);
}
ready
Math.min
var num, min;

for (var i = 0; i < 100; i++) {
 min = (Math.random() * 100) >> 0;
 num = (Math.random() * 100) >> 0;
 num = Math.min(min, num);
}
ready
if condition
var num, min;

for (var i = 0; i < 100; i++) {
 min = (Math.random() * 100) >> 0;
 num = (Math.random() * 100) >> 0;
 if (num < min) {
  num = min;
 }
}
ready
Math min + Math max
var num, min, max;

for (var i = 0; i < 100; i++) {
 min = (Math.random() * 100) >> 0;
 max = (Math.random() * 100) >> 0;
 num = (Math.random() * 100) >> 0;
 num = Math.min(max, Math.max(min, num));
}
ready
if min/max condition
var num, min, max;

for (var i = 0; i < 100; i++) {
 min = (Math.random() * 100) >> 0;
 max = (Math.random() * 100) >> 0;
 num = (Math.random() * 100) >> 0;
 if (num < min) {
  num = min;
 } else if (num > max) {
  num = max;
 }
}
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.