Инструменты21 августа 2026 г., 05:46 МСК🤖 Auto

Hyperfine v1.20.0: эталонный бенчмарк для CLI с автокалибровкой

Вышла версия 1.20.0 утилиты Hyperfine — мощного инструмента для измерения времени выполнения команд в терминале. Разбираем ключевые возможности для точного сравнения производительности.

Баннер новости 6204

Что такое Hyperfine и зачем он нужен

Hyperfine — это кроссплатформенный инструмент для бенчмаркинга командной строки, написанный на Rust. В отличие от простого использования time, он проводит статистический анализ по множеству запусков, автоматически определяет количество итераций (минимум 10 или 3 секунды замера) и выявляет выбросы, вызванные фоновыми процессами или кэшированием.

Главное преимущество — коррекция времени запуска оболочки. Hyperfine измеряет задержку самого /bin/sh (или выбранного шелла) и вычитает её из общего времени, показывая реальную производительность команды.

Ключевые возможности для точных замеров

Утилита позволяет гибко настраивать среду выполнения, что критично для объективных результатов:

  • Warmup runs (-w): Запуск команды несколько раз перед замером для прогрева кэша.
  • Prepare commands (-p): Выполнение очистки кэша (например, sync; echo 3 | sudo tee /proc/sys/vm/drop_caches) перед каждым замером для тестирования на «холодном» диске.
  • Параметризованные бенчмарки: Возможность варьировать параметры (число потоков, задержки) через --parameter-scan или --parameter-list.
  • Экспорт результатов: Поддержка CSV, JSON, Markdown и AsciiDoc для последующего анализа.

Пример сравнения: find vs fd

Разработчики приводят наглядный пример сравнения классической утилиты find и её современного аналога fd. Ниже приведены типичные метрики для поиска файлов по регулярному выражению, полученные с помощью Hyperfine:

Команда Среднее время [s] Мин [s] Макс [s] Относительная скорость
find . -iregex '.*[0-9]\.jpg$' 2.275 ± 0.046 2.243 2.397 9.79 ± 0.22
find . -iname '*[0-9].jpg' 1.427 ± 0.026 1.405 1.468 6.14 ± 0.13
fd -HI '.*[0-9]\.jpg$' 0.232 ± 0.002 0.230 0.236 1.00

Как видно из таблицы, fd опережает find почти в 10 раз при использовании сложных регулярных выражений, что делает Hyperfine незаменимым инструментом для выбора оптимальных утилит.

Установка и совместимость

Hyperfine доступна для всех основных ОС. Актуальная версия на момент обновления — v1.20.0. Установить её можно через стандартные менеджеры пакетов:

  • Linux: apt install hyperfine (Ubuntu/Debian), dnf install hyperfine (Fedora), pacman -S hyperfine (Arch).
  • macOS: brew install hyperfine или sudo port install hyperfine.
  • Windows: choco install hyperfine, scoop install hyperfine или winget install hyperfine.
  • Из исходников: cargo install --locked hyperfine (требуется Rust 1.76+).

Инструмент интегрируется с CI/CD системами (через Bencher) и позволяет визуализировать регрессии производительности в Git-истории.

Источник: Github ↗