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

Revision 13 of this benchmark created on


Setup

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

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
Bitwise OR
var test;
for (var i = 0; i < 100000; i++) {
  test = (numbers[i]) | 0;
}
ready
Bitwise SHIFT
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

Revisions

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