Ce qui se passe
Hyperfine, l'outil de benchmark en ligne de commande (sharkdp/hyperfine),
passe en 2.0.0. Il mesure désormais bien plus que le temps, mais change en
route trois comportements dont dépendent les scripts existants. L'article
d'origine est en allemand ; chaque point ci-dessous est recoupé avec les notes
de version.
Ce qui casse
Plus de shell par défaut. Les commandes mesurées sont lancées directement
(--shell=none) : pipes, redirections, && et variables ne sont plus
interprétés. -S, alias de --shell=default, rétablit l'ancien comportement
(sh sous Unix, cmd.exe sous Windows) ; --shell <SHELL> en choisit un
autre. Les commandes --setup, --prepare, --conclude et --cleanup
passent toujours par un shell.
hyperfine 'cat data.json | jq .items' # 1.x : interprété par sh
hyperfine -S 'cat data.json | jq .items' # 2.0 : à demanderUn nouveau JSON. --export-json suit le schéma version 2 : métadonnées,
mesures par exécution et résumé statistique pour chaque métrique. Les temps sont
en secondes, la mémoire en octets.
jq '.results[0].summary.time_wall_clock.mean' bench.json # ex-.results[0].mean
jq '.results[0].measurements[].time_wall_clock.value' bench.json # ex-.results[0].times[]Le CSV aligne toutes les métriques retenues ; Markdown, AsciiDoc et Org-mode n'en montrent plus qu'une, la première.
Des options en moins. --time-unit/-u, --sort, --reference et
--reference-name disparaissent. La première commande sert toujours de
référence ; un appel avec --reference indique comment migrer.
Ce que ça apporte
Hyperfine affiche désormais le pic de mémoire résidente à côté du temps
écoulé : une variante plus rapide mais plus gourmande se voit d'emblée.
--metrics choisit d'autres mesures — instructions, cycles CPU, défauts de
cache, erreurs de prédiction de branchement — et leurs unités :
hyperfine --metrics time_wall_clock:ms,memory_peak_resident:MiB 'mypy .' 'ty check'Les compteurs matériels exigent que le processeur et le système les exposent.
La nouvelle option --env pose une variable d'environnement sans shell, y
compris en benchmark paramétré :
hyperfine -P threads 1 8 --env 'OMP_NUM_THREADS={threads}' './solveur'Source : Welcher Befehl ist schneller? Hyperfine misst nach, heise Developer, article en allemand, 8 octobre 2026. Notes de version : hyperfine v2.0.0.