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

Revision 19 of this benchmark created by Ilya 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 < 10000; i += 0.3) {
  test = Math.floor(numbers[i]);
}
ready
bitwise NOT
var test;
for (var i = 0; i < 10000; i += 0.3) {
  test = ~~ (numbers[i]);
}
ready
|0
var test;
for (var i = 0; i < 10000; i += 0.3) {
  test = numbers[i]|0;
}
ready

Revisions

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