Una herramienta de línea de comandos para comparar el rendimiento de comandos con análisis estadístico, ejecuciones de calentamiento y exportación a CSV, JSON, Markdown y AsciiDoc.
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
Instala tinybench como dependencia de desarrollo con npm
npm install -D tinybench - 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
CLI de pruebas de carga HTTP(S) escrito en Go, con vista en tiempo real en la terminal y gráficos web, que usa fasthttp para enviar solicitudes.
Un profiler de Rust que mide los cuellos de botella de CPU, memoria, async, SQL, HTTP y E/S, con exportación a Prometheus y Grafana.
Framework personalizable para evaluar LLM, VLM y modelos AIGC con benchmarks, además de pruebas de estrés del rendimiento de inferencia y paneles de resultados.
Un perfilador de memoria para Python que registra las asignaciones en el código Python, las extensiones nativas y el intérprete, y ofrece varios tipos de informes.
Herramienta de rendimiento para React que detecta y resalta automáticamente los componentes que provocan renderizados innecesarios, sin necesidad de cambiar el código.