Как отслеживать размер файла с помощью Bencher
Bencher supports the most popular benchmarking harnesses out-of-the-box.
Sometimes though, you want to measure the size of your deliverables themselves,
such as the binary size of an executable.
Lucky for you, Bencher also supports tracking file size.
The easiest way to track file size is to use the
bencher run
CLI subcommand
with the --file-size
option.
The --file-size
option expects a file path to the file who’s size will be measured.
Under the hood, bencher run
outputs the results as Bencher Metric Format (BMF) JSON.
It is therefore good practice to explicitly use the json
adapter.
If you had a script located at ./my_build_script.sh
that built your binary
at the path ./path/to/my_binary
,
then you could track the size of this binary file with
bencher run
and the json
adapter.
This would work both with a benchmark command and without one.
With a benchmark command:
Without a benchmark command:
In either case, the generated BMF JSON would look like this,
if my_binary
had a size of 42
bytes:
In this example, the key my_binary
is the binary file name.
It is used as the name of the Benchmark.
The my_binary
object contains the file-size
key.
file-size
is the slug for the built-in File Size Measure.
The File Size Measure is not created by default for all Projects.
However, when you use the File Size Measure,
it will be automatically created for your Project.
The File Size Measure object contains a Metric
with the file size value
in bytes, 42.0
.
The File Size will always be a whole byte increment.
That is, it will never have a decimal like 42.5
.
However, BMF JSON needs to support a wide range of possible values,
so it uses floats instead of integers.
Несколько размеров файлов
Если вы хотите отслеживать размеры нескольких файлов,
вы можете просто использовать опцию --file-size
несколько раз в одной и той же
bencher run
команде.
Например, вы можете отслеживать как my_binary
, так и версию для Windows, my_binary.exe
.
Сгенерированный BMF JSON будет выглядеть так, если размер my_binary.exe
составляет 48
байт:
Отслеживание времени сборки
Вы можете захотеть отслеживать время сборки ваших сборок наряду с отслеживанием их размера файлов.
bencher run
поддерживает отслеживание как размеров файлов, так и времени сборки.
Вы можете отслеживать как размер бинарного файла, так и время компиляции для my_binary
с помощью этой команды:
Если ваш скрипт сборки занял 87,0
секунд для завершения,
сгенерированный BMF JSON будет выглядеть следующим образом:
🐰 Поздравляем! Вы научились отслеживать размер вашего файла! 🎉