Como Monitorar o Tamanho do Arquivo com Bencher
O Bencher suporta os dispositivos de medição de desempenho mais populares de forma nativa.
Por vezes, no entanto, você deseja medir o tamanho dos seus entregáveis em si,
como o tamanho binário do seu executável.
Sorte a sua, o Bencher também suporta o rastreamento do tamanho de arquivo.
A maneira mais fácil de rastrear o tamanho de um arquivo é usar o
subcomando da CLI bencher run
com a opção --file-size.
A opção --file-size espera um caminho de arquivo para o arquivo cujo tamanho será medido.
Por baixo dos panos, bencher run
apresenta os resultados como Bencher Metric Format (BMF) JSON.
Portanto, é uma boa prática usar explicitamente o adaptador json.
Se você tivesse um script localizado em ./my_build_script.sh que construísse seu binário
no caminho ./path/to/my_binary,
então você poderia acompanhar o tamanho deste arquivo binário com
bencher run
e o adaptador json.
Isso funcionaria tanto com um comando de benchmark quanto sem ele.
Com um comando de benchmark:
bencher run --file-size ./path/to/my_binary --adapter json ./my_build_script.shSem um comando de benchmark:
./my_build_script.sh && bencher run --file-size ./path/to/my_binary --adapter jsonEm qualquer caso, o JSON BMF gerado seria assim,
se my_binary tivesse um tamanho de 42 bytes:
{ "my_binary": { "file-size": { "value": 42.0 } }}Neste exemplo, a chave my_binary é o nome do arquivo binário.
É usada como o nome do Benchmark.
O objeto my_binary contém a chave file-size.
file-size é o slug para a Medida de Tamanho de Arquivo integrada Measure.
A Medida de Tamanho de Arquivo não é criada por padrão para todos os Projetos.
No entanto, quando você usa a Medida de Tamanho de Arquivo,
ela será automaticamente criada para seu Projeto.
O objeto Medida de Tamanho de Arquivo contém uma Métrica
com o valor do tamanho do arquivo em bytes, 42.0.
O Tamanho do Arquivo será sempre um incremento de byte inteiro.
Ou seja, nunca terá um decimal como 42.5.
No entanto, BMF JSON precisa suportar uma ampla gama de valores possíveis,
então ele usa floats em vez de inteiros.
Tamanhos Múltiplos de Arquivos
Se você quiser rastrear o tamanho de vários arquivos,
pode simplesmente usar a opção --file-size várias vezes no mesmo
bencher run comando.
Por exemplo, você pode rastrear tanto my_binary quanto uma versão executável do Windows, my_binary.exe.
bencher run --file-size ./path/to/my_binary --file-size ./path/to/my_binary.exe --adapter json ./my_build_script.shO JSON BMF gerado se pareceria com isso se my_binary.exe tiver um tamanho de 48 bytes:
{ "my_binary": { "file-size": { "value": 42.0 } }, "my_binary.exe": { "file-size": { "value": 48.0 } }}Acompanhar Tempo de Compilação
Você pode querer acompanhar o tempo de compilação de seus entregáveis, além de acompanhar o tamanho de seus arquivos.
bencher run
suporta o acompanhamento tanto dos tamanhos dos arquivos quanto dos tempos de compilação.
Você poderia acompanhar tanto o tamanho binário quanto o tempo de compilação para my_binary com este comando:
bencher run --file-size ./path/to/my_binary --build-time --adapter json ./my_build_script.shSe o seu script de compilação levou 87.0 segundos para ser concluído,
o JSON BMF gerado ficaria assim:
{ "my_binary": { "file-size": { "value": 42.0 } }, "/bin/sh -c ./my_build_script.sh": { "build-time": { "value": 87.0 } }}🐰 Parabéns! Você aprendeu como monitorar o tamanho do seu arquivo! 🎉