Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15
Safari 15
Mac OS X 10.15.7
Desktop
one year ago
Test name Executions per second
myFloat.toFixed(2) 1161921.4 Ops/sec
myFloat.toPrecision(2) 1139002.1 Ops/sec
Math.round(myFloat*100)/100 i.e. 2 places 982526.5 Ops/sec
Bitwise: signed round to 2 places 1310309.6 Ops/sec
Bitwise: UNsigned round to 2 places 1808399.6 Ops/sec
myFloat.toFixed(0) i.e. round to int 1202684.5 Ops/sec
Math.round(myFloat) 980657.2 Ops/sec
Bitwise: signed round to nearest int 1869211.5 Ops/sec
Floor (round down only to int) 959809.8 Ops/sec
Trunc (round towards zero) 973879.2 Ops/sec
Bitwise: signed round to zero (trunc) 1919674.9 Ops/sec
Script Preparation code:
Tests:
  • myFloat.toFixed(2)

  • myFloat.toPrecision(2)

  • Math.round(myFloat*100.0)/100.0

  • Bitwise: signed round ± to 2 places

  • Bitwise: UNsigned round ± to 2 places

  • myFloat.toFixed(0)

  • Math.round()

  • Bitwise: signed round ± to int

  • Bitwise: UNsigned round ± to int

  • Math.floor() round down

  • Math.trunc() round toward zero

  • Bitwise: round toward zero


;