Generador de pruebas de rendimiento
Herramienta gratuita y en línea para comparar velocidades de ejecución de código JavaScript, sin necesidad de instalación.
Acerca de Benchmark Builder
Una herramienta de micro-benchmark de JavaScript uno contra uno: pega dos cuerpos de función (Snippet A y Snippet B), define un número de iteraciones y la herramienta ejecuta cada uno con 100 invocaciones de calentamiento seguidas del número configurado de invocaciones medidas, y luego informa del tiempo total, las operaciones por segundo y qué snippet fue más rápido y en qué proporción.
Cómo usarlo
1. Establece Iteraciones (valor predeterminado 10000) en la tarjeta superior. 2. En la tarjeta Snippet A, escribe una etiqueta opcional (predeterminada "A") y el cuerpo de la función a evaluar (p. ej. `return Math.random()`). 3. Haz lo mismo para el Snippet B (p. ej. `return crypto.getRandomValues(new Uint32Array(1))[0]`). 4. Haz clic en Ejecutar: el botón está desactivado hasta que ambos cuerpos de snippet no estén vacíos. 5. Lee la tarjeta de resultado: cada snippet muestra el tiempo total en milisegundos y las operaciones por segundo, además de una línea de pie que nombra el snippet más rápido y la proporción de velocidad. Si un snippet lanza una excepción, su error se muestra en rojo.
Modelo de ejecución y métricas
Cada snippet se envuelve con `new Function(code)` y se invoca como una función sin argumentos, por lo que debe ser un cuerpo de función válido (usa `return ...` para trabajar; se permiten sentencias de nivel superior). - Calentamiento: 100 invocaciones incondicionales antes de la medición, para que el motor JS pueda optimizar. - Medición: se toma `performance.now()` antes y después de ejecutar el snippet `iterations` veces en un bucle ajustado. - Operaciones por segundo: se calculan como `iterations / (timeMs / 1000)`, redondeadas. - Proporción: `max(timeA, timeB) / min(timeA, timeB)`, mostrada con 2 decimales; el snippet con menor tiempo se informa como más rápido. Ten en cuenta que este es un micro-benchmark de mejor esfuerzo dentro del navegador, no un conjunto estadísticamente riguroso: los resultados varían con la carga de la máquina, el motor del navegador, las pausas del GC y la eliminación de código muerto.
▶¿Por qué mis resultados son distintos cada vez que hago clic en Ejecutar?
▶¿Pueden los snippets acceder a variables, importaciones o async/await?
▶¿Qué pasa si un snippet lanza una excepción?
▶¿Mis datos se envían a un servidor?
Si este herramienta le ha sido útil, considere comprarme un café.
Compra un café para mí.