JavaScript bitwise NOT vs Math.floor() (v30)

Revision 30 of this benchmark created on


Setup

var numbers = [];
  
  //generate amount random numbers
  for (var i = 0; i < 100000; i++) {
    numbers[numbers.length] = Math.floor(Math.random() * 100000) / 10000;
  }

Test runner

Ready to run.

Testing in
TestOps/sec
Math.floor()
var test;
for (var i = 0; i < 100000; i++) {
  test = Math.floor(numbers[i]);
}
ready
bitwise NOT
var test;
for (var i = 0; i < 100000; i++) {
  test = ~~ numbers[i];
}
ready
<<0
var test;
for (var i = 0; i < 100000; i++) {
  test = numbers[i] << 0;
}
ready
| 0
var test;
for (var i = 0; i < 100000; i++) {
  test = numbers[i] | 0;
}
ready
parseInt
var test;
for (var i = 0; i < 100000; i++) {
  test = parseInt(numbers[i]);
}
ready
Math.floor
var test;
var floor = Math.floor;
for (var i = 0; i < 100000; i++) {
  test = floor(numbers[i]);
}
ready
Math.floor
var test;
var f = Math.floor;
for (var i = 0; i < 100000; i++) {
  test = f(numbers[i]);
}
ready
>> 0
var test;
for (var i = 0; i < 100000; i++) {
  test = numbers[i] >> 0;
}
ready

Revisions

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