Cómo realizar el seguimiento del tiempo de construcción con Bencher
Bencher admite los arneses de evaluación comparativa más populares de manera predeterminada. Sin embargo, a veces deseas medir cuánto tiempo lleva compilar tus entregables, como el tiempo de compilación de un ejecutable. Afortunadamente, Bencher también admite el seguimiento de los tiempos de compilación. La forma más fácil de rastrear los tiempos de compilación es usar el subcomando CLI bencher run
con el flag --build-time
. Internamente, bencher run
entrega los resultados como Bencher Metric Format (BMF) JSON. Por lo tanto, es una buena práctica usar explícitamente el adaptador json
.
Si tuvieras un script ubicado en ./my_build_script.sh
que construyera tu binario, entonces podrías rastrear el tiempo de construcción de este binario con bencher run
y el adaptador json
. La opción --build-time
requiere un comando de benchmark.
El JSON BMF generado se vería así, si tu script de construcción tomó 87.0
segundos para completarse:
Nota que el nombre del benchmark es /bin/sh -c ./my_build_script.sh
. Esto se debe a que nuestro comando es solo un único argumento, por lo que bencher run
usa por defecto la forma shell para la ejecución. Alternativamente, si te gustaría forzar el uso de la forma exec, puedes proporcionar múltiples argumentos o usar la opción --exec
.
Si esta construcción en forma exec tomó 86.98
segundos, entonces el JSON BMF generado se vería así:
Ahora, el nombre del benchmark es simplemente ./my_build_script.sh
. El objeto ./my_build_script.sh
contiene la clave build-time
. build-time
es el identificador para la Medida de Tiempo de Construcción Measure incorporada. La Medida de Tiempo de Construcción no se crea por defecto para todos los Proyectos. Sin embargo, cuando usas la Medida de Tiempo de Construcción, será creada automáticamente para tu Proyecto. El objeto de Medida de Tiempo de Construcción contiene un Métrica con el valor
del tiempo de construcción en segundos, 87.0
y 86.98
en nuestros ejemplos.
El Tiempo de Construcción siempre se redondeará a los dos decimales más cercanos. Es decir, nunca será un decimal largo como 42.666666
.
Seguimiento del Tamaño de Archivo
Es posible que desee hacer un seguimiento del tamaño del archivo de sus entregables, además de seguir cuánto tiempo tardan en compilarse. bencher run
admite el seguimiento tanto de los tiempos de compilación como de los tamaños de archivo.
Si el resultado de su script de construcción ./my_build_script.sh
era un binario en la ruta ./path/to/my_binary
, entonces podría rastrear tanto el tiempo de compilación como el tamaño del binario con este comando:
Si my_binary
tenía un tamaño de 42
bytes, el JSON de BMF generado se vería así:
🐰 ¡Felicidades! ¡Has aprendido a realizar el seguimiento de tu tiempo de construcción! 🎉