Como Acompanhar o Tempo de Build com o Bencher
Bencher oferece suporte aos harnesses de benchmark mais populares imediatamente. No entanto, às vezes, você deseja medir quanto tempo leva para construir seus próprios entregáveis, como o tempo de compilação de um executável. Por sorte, o Bencher também oferece suporte ao acompanhamento dos tempos de construção. A maneira mais fácil de rastrear os tempos de construção é usar o subcomando CLI bencher run
com a opção --build-time
. Internamente, o bencher run
gera os resultados como Bencher Metric Format (BMF) JSON. Portanto, é uma boa prática usar explicitamente o adaptador json
.
Se você tiver um script localizado em ./my_build_script.sh
que constrói seu binário,
então você pode rastrear o tempo de construção desse binário com
bencher run
e o adaptador json
.
A flag --build-time
requer um comando de benchmark.
O JSON BMF gerado ficaria assim,
se seu script de construção levou 87.0
segundos para completar:
Observe que o nome do Benchmark é /bin/sh -c ./my_build_script.sh
.
Isso ocorre porque nosso comando é apenas um único argumento, então
bencher run
por padrão utiliza a forma de shell para execução.
Alternativamente, se você quiser forçar o uso da forma exec,
você pode fornecer múltiplos argumentos ou usar a flag --exec
.
Se esse build na forma exec levou 86.98
segundos,
então o JSON BMF gerado ficaria assim:
Agora, o nome do Benchmark é simplesmente ./my_build_script.sh
.
O objeto ./my_build_script.sh
contém a chave build-time
.
build-time
é o slug para a Medição de Tempo de Construção embutida.
A Medição de Tempo de Construção não é criada por padrão para todos os Projetos.
No entanto, quando você usa a Medição de Tempo de Construção,
ela será automaticamente criada para o seu Projeto.
O objeto Medição de Tempo de Construção contém um Métrica
com o valor
do tempo de construção em segundos, 87.0
e 86.98
em nossos exemplos.
O Tempo de Construção sempre será arredondado para as duas casas decimais mais próximas.
Ou seja, nunca será um decimal longo como 42.666666
.
Acompanhar o Tamanho do Arquivo
Você pode querer acompanhar o tamanho do arquivo de seus entregáveis,
além de acompanhar quanto tempo leva para construí-los.
bencher run
suporta o acompanhamento tanto dos tempos de construção quanto dos tamanhos de arquivo.
Se a saída de seu script de construção ./my_build_script.sh
fosse um binário no caminho ./path/to/my_binary
,
você poderia acompanhar tanto o tempo de compilação quanto o tamanho do binário com este comando:
Se my_binary
tivesse um tamanho de 42
bytes,
o JSON do BMF gerado seria assim:
🐰 Parabéns! Você aprendeu a acompanhar o tempo de build! 🎉