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

     
    testHypot()
  • sqrt

     
    testSqrt()
  • sqrt + pow

     
    testSqrtAndPow()
  • i*i

     
    testNoSqrt()
  • pow

     
    testNoSqrtAndPow()
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    hypot
    sqrt
    sqrt + pow
    i*i
    pow

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 5 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
hypot 58.5 Ops/sec
sqrt 157.9 Ops/sec
sqrt + pow 83.7 Ops/sec
i*i 781.8 Ops/sec
pow 95.9 Ops/sec