jsSqrt

Benchmark created on


Setup

function jsSqrt(number, epsilon = 0.00001) {
    if (number < 0) {
        return NaN; // Square root of negative number is undefined
    }

    let guess = number / 2; // Initial guess can be any positive number
    let prevGuess;

    do {
        prevGuess = guess;
        guess = 0.5 * (guess + number / guess);
    } while (Math.abs(guess - prevGuess) > epsilon);

    return guess;
}

Test runner

Ready to run.

Testing in
TestOps/sec
jsSqrt
jsSqrt(999_999_999)
ready
mathSqrt
Math.sqrt(999_999_999)
ready

Revisions

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