Herramienta para medir y comparar el tiempo de ejecución de comandos de shell [benchmarking] desarrollada en Rust y que ofrece las siguientes características: Análisis estadístico en múltiples ejecuciones, compatibilidad con comandos de shell arbitrarios, ejecuciones de calentamiento antes del benchmark real, se pueden configurar comandos de borrado de caché antes de cada ejecución temporal, detección estadística de valores atípicos para detectar interferencias de otros programas y efectos de caché y exportación de resultados a varios formatos: CSV, JSON, Markdown, ASCII.
$ hyperfine 'sleep 1'
$ hyperfine 'sleep 1' 'sleep 0.5'
$ hyperfine --min-runs 7 'ls -l'
$ hyperfine --warmup 5 'grep TODO *.txt'
$ hyperfine --prepare 'make clean' 'make'
$ hyperfine --parameter-scan num_threads 1 8 'make -j {num_threads}'
$ hyperfine --export-json resultados.json 'sleep 1'
$ hyperfine --export-markdown resultados.md 'sleep 1'
$ hyperfine --prepare 'sync; echo 3 | sudo tee /proc/sys/vm/drop_caches' 'grep -R TODO *'