8 puntos por xguru 2025-12-11 | 1 comentarios | Compartir por WhatsApp
  • Herramienta de benchmarking ultraligera de menos de 10 KB desarrollada para medir con precisión el rendimiento del código
  • Funciona sobre Web API y ofrece medición precisa del tiempo usando process.hrtime o performance.now
  • Puede ejecutarse en diversos entornos de ejecución de JavaScript como Node.js, Deno y Bun
  • Ofrece análisis basado en estadísticas: admite el cálculo de latencia y throughput como promedio, desviación estándar, margen de error, varianza y percentiles
  • Modo de ejecución concurrente: permite ejecución en paralelo por unidad de task o de bench, con la opción threshold para controlar la cantidad máxima de ejecuciones simultáneas
  • Estructura basada en eventos y extensible: las clases Bench y Task heredan de EventTarget, y permiten registrar listeners para eventos como cycle y abort
  • Detección automática de funciones asíncronas: revisa si es AsyncFunction o si devuelve un Promise para activar automáticamente el modo async
  • Visualización y transformación de resultados: el método bench.table() convierte al formato de salida de console.table(), y permite personalizar el formato de salida con funciones Converter definidas por el usuario
  • Con la configuración retainSamples, conserva los datos de muestra en bruto para usarlos en análisis personalizados, visualización de gráficos y exportación de resultados
  • Permite elegir un proveedor preciso de marcas de tiempo (timestamp provider)
    • El valor predeterminado es performance.now()
    • Incluye opciones optimizadas según el runtime, como hrtimeNow, bunNanoseconds y auto
    • Se puede implementar una interfaz personalizada de TimestampProvider
  • Compatible con control de interrupción basado en AbortSignal
    • Se puede interrumpir (abort) toda la ejecución del benchmark o tareas individuales
    • Al interrumpir, se dispara el evento abort y se establece la bandera de estado (task.result.aborted)
  • Su estructura de paquete único, sin dependencias externas, garantiza inicialización rápida y buena velocidad de ejecución
  • Frente a Benchmark.js, mitata, tatami-ng y Bema, destaca por ser más pequeño, más simple y más amigable con Web API

1 comentarios

 
shakespeares 2025-12-11

Ahora hasta me pregunto si hace falta algo así. La IA arma muy bien scripts para medir el rendimiento justo de acuerdo con el momento y la situación...