Math.floor vs Math.round vs parseInt vs Bitwise

JavaScript performance comparison

Revision 115 of this test case created by Aicke Schulz

Info

  1. Real rounding by adding 0.5, no fake rounding like all the others do
  2. use base 10 for parseInt(), thats the most common case to parse ints, so the results are more realistic (btw. the result by about 5-10%)

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
Math.floor
Math.floor(89.938 / 293.3 + 0.5);
Math.floor(83784 / 9289.2 + 0.5);
Math.floor(7 / 60 + 0.5);
pending…
Math.round
Math.round(89.938 / 293.3);
Math.round(83784 / 9289.2);
Math.round(7 / 60);
pending…
parseInt
parseInt(89.938 / 293.3 + 0.5, 10);
parseInt(83784 / 9289.2 + 0.5, 10);
parseInt(7 / 60 + 0.5, 10);
pending…
Bitwise |
(89.938 / 293.3 + 0.5) | 0;
(83784 / 9289.2 + 0.5) | 0;
(7 / 60 + 0.5) | 0;
pending…
Bitwise
(89.938 / 293.3 + 0.5) >> 1;
(83784 / 9289.2 + 0.5) >> 1;
(7 / 60 + 0.5) >> 1;
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment