LINUX.ORG.RU

hyperfine 1.19.0

 , , , ,

hyperfine 1.19.0

0

2

Состоялся выпуск 1.19.0 кроссплатформенной (Linux, MacOS, Windows) консольной утилиты hyperfine, написанной на языке Rust и распространяемой по лицензиям Apache-2.0 и MIT. Утилита предназначена для сравнения производительности других консольных утилит.

Список изменений:

  • добавлена опция --reference <cmd> позволяющая вручную указать команду <cmd>, с которой будут сравниваться результаты выполнения других команд;
  • добавлена опция --conclude <cmd>, выполняющая команду <cmd> после выполнения измеряемой команды;
  • команда --output= может быть задана для каждой команды;
  • переменная окружения $HYPERFINE_ITERATION теперь содержит текущий номер итерации для каждой команды бенчмарка;
  • в сообщение об ошибке добавлена информация об итерации;
  • в скрипт plot_histogram.py добавлена возможность позиционирования легенды графика на диаграмме. Выходной DPI графика установлен в 600 DPI;
  • улучшен скрипт plot_whisker.py;
  • исправлена ошибка отображения примерного времени выполнения в эмуляторах терминала с блочным курсором;
  • исправлено автодополнение zsh;
  • добавлена сборка aarch64-apple-darwin;
  • различный рефакторинг кода.

>>> Подробности

★★★★★

Проверено: maxcom ()
Последнее исправление: dataman (всего исправлений: 2)

Утилита предназначена для измерения длины в см.

пофиксил

cocucka_B_TECTE
()

написанной на языке Rust

Что за тулза хоть? Что оно делает? Кроме как на раст про неё ничего больше знать не надо? facapalm.jpg

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от mydibyje

Полезный флаг на самом деле, если тестируемая утилита что-то читает с диска. Как раз прогреть дисковый кеш, чтобы на результаты влиял поменьше. :)

Я им даже не консольные утилиты проверяю. Например, запускаю xash3d-fwgs с флагом -timedemo, который прогоняет заранее записанную демку без задержек и по её окончанию выходит, что полезно для общей оценки производительности клиента игры, не учитывая отдельные сцены. hyperfine прогоняет несколько раз и сразу выдает удобоваримые результаты, минимум, максимум, среднее и погрешность.

a1ba ★★
()
Последнее исправление: a1ba (всего исправлений: 2)
Ответ на: комментарий от a1ba

Порядок слов имеет смысл. Тогда уже:

Состоялся выпуск 1.19.0 кроссплатформенной (Linux, MacOS, Windows) консольной утилиты hyperfine для сравнения производительности других консольных утилит, распространяемой по лицензиям Apache-2.0 и MIT и написанной на языке Rust.

Хотя всё, что после запятой уже не несёт никакой смысловой нагрузки и может быть опущено без потери смысла.

Главное, второстепенное, дополнения и комментарии.

Из текста ТС получается же:

  • Главное: написано на Rust
  • Второстепенное: лицензия Apache-2.0 и MIT
  • Дополнения и комментарии: для сравнения производительности других консольных утилит, changelog
beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 7)
Ответ на: комментарий от mydibyje

Словил вайбы гоев. Тех тоже прогревают.

не благодари... /fxd

etwrq ★★★★★
()
Ответ на: комментарий от beastie

Из текста ТС получается же

Пора лечиться, если только одно слово rust так влияет на когнитивные функции.

dataman ★★★★★
() автор топика

Это какой-то изощрëнный кошачий клининг?

imul ★★★★★
()
Ответ на: комментарий от dataman

rust в современном IT продвигают также, как SJV и BLM в ентертейменте. и реакция на него соответствующая - отторжение. хотя у питона получилось 😁

daminatorus ★★
()

plot_histogram.py

Выглядит как что-то, написанное на расте :)

pihter ★★★★★
()
Ответ на: комментарий от a1ba

А если утилита юзером используется в кейсе: запустил разок и закрыл? Тогда прогрев исказит данные, потому что hyperfine запускает её не так как юзер, разок, а несколько раз. И как понять что кеш прогрет, hyperfine это показывает?

mydibyje ★★★★
()
Ответ на: комментарий от daminatorus

rust в современном IT продвигают также, как SJV

– Мне нравится Си, потому что он очень быстрый.
– Ты квир¹, ты должен использовать Раст.


¹ – какое-то очередное слово аналог гомосексуалиста обыкновенного.

thegoldone
()
Ответ на: комментарий от mydibyje

Cache-clearing commands can be set up before each timing run.

Можно напрячься и охлаждать каждый раз кэш. Но так как это по идее должна делать утилита. А она этого не делает. И пользователю неохота разбираться, то просто всё время на тёплом кэше.

thegoldone
()

утилиты hyperfine, написанной на языке Rust
в скрипт plot_histogram.py добавлена возможность
улучшен скрипт plot_whisker.py

Я ничего не понял. На Rust или на Python утилита написана?

Xintrea ★★★★★
()
Ответ на: комментарий от Xintrea

Сама утилита на Rust.

https://github.com/sharkdp/hyperfine/tree/master/scripts

This folder contains scripts that can be used in combination with hyperfines --export-json option.

Example:
hyperfine ‘sleep 0.020’ ‘sleep 0.021’ ‘sleep 0.022’ –export-json sleep.json
./plot_whisker.py sleep.json
Pre-requisites
To make these scripts work, you will need numpy, matplotlib and scipy.

dataman ★★★★★
() автор топика
Последнее исправление: dataman (всего исправлений: 1)

Для растофобов:

Alternative tools Hyperfine is inspired by bench.

https://github.com/Gabriella439/bench

This project provides the bench command-line tool, which is a more powerful alternative to the time command. Use bench to benchmark a command using Haskell’s criterion library.

Key features:

  • Repeated runs
  • Detailed statistical output
  • Gorgeous HTML output (via the –output flag) (Example)
  • Also supports CSV or templated output
dataman ★★★★★
() автор топика
Ответ на: комментарий от mydibyje

Так для этого тоже есть опция. У hyperfine есть флаг –prepare, который запустит переданную команду. Можно так кэши почистить, например.

a1ba ★★
()
Ответ на: комментарий от Wizard_

Программы не только с диска информацию читают, а ещё байтики перекладывают из одного места в другое.

a1ba ★★
()
Последнее исправление: a1ba (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.