Saltar al contenido

¿Cuál es la forma más rápida de elevar al cuadrado un número en JavaScript?

Intenta comprender el código bien antes de adaptarlo a tu trabajo si tquieres aportar algo puedes compartirlo con nosotros.

Solución:

Nota: Preguntas como esta cambian con el tiempo a medida que los motores de los navegadores cambian la forma en que funcionan sus optimizaciones. Para una mirada reciente comparando:

Math.pow(x1, 2)
x1 * x1
x1 ** 2                  // ES6 syntax

Vea esta prueba de rendimiento revisada y ejecútela en los navegadores que le interesen: https://jsperf.com/math-pow-vs-simple-multiplication/32.

A partir de abril de 2020, Chrome, Edge y Firefox muestran menos del 1 % de diferencia entre los tres métodos anteriores.

Si el enlace jsperf no funciona (parece estar ocasionalmente inactivo), puede probar este caso de prueba de perf.link.

Respuesta original de 2014:

Todas las preguntas de rendimiento deben responderse mediante la medición porque los detalles de la implementación del navegador y el escenario particular que le interesa a menudo son los que determinan el resultado (por lo tanto, una discusión teórica no siempre es correcta).

En este caso, el rendimiento varía mucho según la implementación del navegador. Estos son los resultados de varios navegadores diferentes en esta prueba jsperf: http://jsperf.com/math-pow-vs-simple-multiplication/10 que compara:

Math.pow(x1, 2)
x1 * x1

Las barras más largas son más rápidas (mayores operaciones por segundo). Puedes ver que Firefox optimiza ambas operaciones para que sean prácticamente iguales. En otros navegadores, la multiplicación es significativamente más rápida. IE es el más lento y muestra la mayor diferencia porcentual entre los dos métodos. Firefox es el más rápido y muestra la menor diferencia entre los dos.

ingrese la descripción de la imagen aquí

En ES6 puedes hacer lo siguiente con Exponenciaciónn (x ** y), que produce el mismo resultado que Math.pow(x,y):

function squareIt(number) 
  return number ** 2;


console.log(squareIt(5));

o puede usar una biblioteca de JavaScript llamada BigInteger.js con el propósito.

alert(bigInt(5).square());

Si posees alguna indecisión y capacidad de perfeccionar nuestro enunciado puedes ejecutar un exégesis y con mucho gusto lo analizaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4.5)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *