C贸mo Seguir Benchmarks Personalizados con Bencher


Bencher soporta los arneses de evaluaci贸n comparativa m谩s populares listos para usar, y siempre estamos abiertos a sugerencias para nuevos adaptadores. Sin embargo, puede haber situaciones en las que un arn茅s de evaluaci贸n comparativa listo para usar no se ajuste a sus necesidades, lo que hace necesaria la creaci贸n de un arn茅s de evaluaci贸n comparativa personalizado. Por suerte, Bencher tambi茅n soporta el uso de un arn茅s de evaluaci贸n comparativa personalizado. La forma m谩s f谩cil de integrar su arn茅s de evaluaci贸n personalizado con Bencher es producir JSON en el Formato de M茅trica de Bencher (BMF).

Este es un ejemplo de BMF JSON:

{
"benchmark_name": {
"latency": {
"value": 88.0,
"lower_value": 87.42,
"upper_value": 88.88
}
}
}

En este ejemplo, la clave benchmark_name ser铆a el nombre de un Benchmark. Los nombres de Benchmark pueden ser cualquier cadena no vac铆a de hasta 1024 caracteres. El objeto benchmark_name puede contener m煤ltiples nombres, slugs o UUIDs de Medida como claves. Si el valor especificado es un nombre o slug y la Medida no existe previamente, se crear谩 para usted. Sin embargo, si el valor especificado es un UUID entonces la Medida debe existir previamente. En este ejemplo, latency es el slug para la Medida de Latencia integrada. Cada Proyecto por defecto tiene una Medida de Latencia (es decir latency) y Rendimiento (es decir throughput), que se miden en nanosegundo (ns) y operaciones / segundo (ops/s) respectivamente. El objeto Medida contiene una M茅trica con hasta tres valores: value, lower_value y upper_value. Los valores lower_value y upper_value son opcionales.

En este ejemplo, el objeto Medida latency contiene los siguientes valores:

  • Un value de 88.0
  • Un lower_value de 87.42
  • Un upper_value de 88.88

Si tuvieras un script ubicado en ./run/my/benchmarks.sh que ejecutara tus referencias de medici贸n y mostrara los resultados en la salida est谩ndar como JSON de BMF, entonces podr铆as rastrearlos usando bencher run y el adaptador json con el siguiente comando:

Terminal window
bencher run --adapter json ./run/my/benchmarks.sh

Si sus resultados se almacenaran en un archivo llamado results.json, entonces podr铆a usar la opci贸n --file para especificar la ruta del archivo. Esto funciona tanto con un comando de benchmark como sin uno.

Con un comando de benchmark:

Terminal window
bencher run --file results.json --adapter json ./run/my/benchmarks.sh

Sin un comando de benchmark:

Terminal window
./run/my/benchmarks.sh && bencher run --file results.json --adapter json

馃惏 隆Felicidades! Has aprendido c贸mo seguir benchmarks personalizados. 馃帀


Contin煤a: C贸mo Seguir Benchmarks en CI 鉃

馃 Este documento fue generado autom谩ticamente por OpenAI GPT-4. Puede que no sea exacto y contenga errores. Si encuentra alg煤n error, abra un problema en GitHub.


Published: Sun, May 12, 2024 at 7:44:00 AM UTC