Script Preparation code:
x
 
function testHypot() {
  for (let i=0; i < 1000; i++){
    for (let j=0; j < 1000; j++) {
      Math.hypot(i - j, j - i)
    }
  }
}
function testSqrt() {
  for (let i=0; i < 1000; i++){
    for (let j=0; j < 1000; j++) {
      Math.sqrt((i-j)*(i-j)+(j-i)*(j-i))
    }
  }
}
function testSqrtPowFn() {
  for (let i=0; i < 1000; i++){
    for (let j=0; j < 1000; j++) {
      Math.sqrt(Math.pow(i-j, 2)+Math.pow(j-i, 2))
    }
  }
}
function testSqrtPowOp() {
  for (let i=0; i < 1000; i++){
    for (let j=0; j < 1000; j++) {
      Math.sqrt((i-j)**2+(j-i)**2)
    }
  }
}
Tests:
  • Math.hypot

     
    testHypot()
  • Math.sqrt

     
    testSqrt()
  • Math.sqrt > Math.pow

     
    testSqrtPowFn()
  • Math.sqrt > **

     
    testSqrtPowOp()
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Math.hypot
    Math.sqrt
    Math.sqrt > Math.pow
    Math.sqrt > **

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 4 months ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36
Chrome 130 on Windows
View result in a separate tab
Test name Executions per second
Math.hypot 111.0 Ops/sec
Math.sqrt 223.8 Ops/sec
Math.sqrt > Math.pow 541.7 Ops/sec
Math.sqrt > ** 64.5 Ops/sec