Repolode
tinylibs

tinylibs/tinybench

Una biblioteca de benchmarking para JavaScript sencilla, pequeña y sin dependencias, que funciona en varios runtimes de JavaScript.

Estrellas
2,385
Forks
60
Issues abiertos
14
Último commit
hace 6 horas

¿Qué es?

Tinybench es una biblioteca pequeña para medir el rendimiento de funciones JavaScript. Creas una instancia de Bench, añades tareas con nombre y las ejecutas para recopilar estadísticas de latencia y rendimiento, como la media, la mediana, la desviación estándar, el margen de error y los percentiles. Está basada en Web APIs y usa process.hrtime o performance.now para medir el tiempo, por lo que funciona en varios runtimes de JavaScript.

Las tareas pueden ser síncronas o asíncronas; las funciones asíncronas se detectan automáticamente. Puedes habilitar la concurrencia por tarea o para todas las tareas, y la biblioteca emite eventos compatibles con Event, como cycle y warning. Las opciones incluyen la selección del temporizador, la corrección opcional de su sobrecarga, la retención de muestras y la cancelación mediante AbortSignal. Los resultados se exponen como datos, en lugar de mostrarse en el registro, y bench.table() genera una salida para console.table().

El paquete no tiene dependencias y se distribuye a través de npm.

Funciones clave

  • 01Análisis estadístico de latencia y rendimiento, incluidos los percentiles y el margen de error.
  • 02Compatibilidad con tareas síncronas y asíncronas, con detección automática de funciones asíncronas.
  • 03Modos de concurrencia para ejecutar en paralelo las iteraciones de una tarea o varias tareas.
  • 04Eventos compatibles con EventTarget para cycle y para advertencias de saturación del temporizador.
  • 05Proveedores de marcas de tiempo seleccionables y corrección opcional de la sobrecarga del temporizador.
  • 06Compatibilidad con AbortSignal tanto a nivel de bench como de tarea.

Casos de uso

  • Comparar el rendimiento de distintas implementaciones en JavaScript de una misma función.
  • Medir operaciones asíncronas, como rutas de código limitadas por la E/S.
  • Integrar benchmarks en una suite de pruebas o un trabajo de CI que inspeccione los resultados mediante código.
  • Ejecutar microbenchmarks en Node.js, Bun u otros runtimes de JavaScript.

Inicio rápido

  1. 1

    Instala tinybench como dependencia de desarrollo con npm

    npm install -D tinybench
  2. 2

    Importa Bench, añade tareas y llama a run() en tu archivo JavaScript o TypeScript

Antes de usarlo

  • Para trabajos cuya duración se aproxime a la resolución del temporizador, el README recomienda overriddenDuration, ya que la sobrecarga del temporizador puede sesgar los resultados.
  • Las tareas no se registran de forma predeterminada, así que debes extraer e imprimir los resultados por tu cuenta.

En colecciones

Temas

Preguntas frecuentes

¿Qué es tinybench?
Una biblioteca de benchmarking para JavaScript sencilla, pequeña y sin dependencias, que funciona en varios runtimes de JavaScript. Tinybench es una biblioteca pequeña para medir el rendimiento de funciones JavaScript. Creas una instancia de Bench, añades tareas con nombre y las ejecutas para recopilar estadísticas de latencia y rendimiento, como la media, la mediana, la desviación estándar, el margen de error y los percentiles. Está basada en Web APIs y usa process.hrtime o performance.now para medir el tiempo, por lo que funciona en varios runtimes de JavaScript.
¿tinybench es gratuito? ¿Qué licencia tiene?
tinybench es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿tinybench sigue mantenido?
Mantenimiento activo. El último commit de tinybench fue el 22 oct 2026.
¿Para qué puedo usar tinybench?
Comparar el rendimiento de distintas implementaciones en JavaScript de una misma función. Medir operaciones asíncronas, como rutas de código limitadas por la E/S. Integrar benchmarks en una suite de pruebas o un trabajo de CI que inspeccione los resultados mediante código. Ejecutar microbenchmarks en Node.js, Bun u otros runtimes de JavaScript.
¿Cómo se instala tinybench?
Instala tinybench como dependencia de desarrollo con npm: npm install -D tinybench Importa Bench, añade tareas y llama a run() en tu archivo JavaScript o TypeScript
¿Dónde consigo tinybench?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/tinylibs/tinybench

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados