Cómo rastrear benchmarks de Rust Gungraun en CI

Everett Pompeii

Everett Pompeii


Ahora que has aprendido aprendido cómo hacer benchmarks de código Rust con Gungraun, veamos cómo rastrear esos benchmarks en CI. Benchmarking Continuo es la práctica de ejecutar benchmarks en cada conjunto de cambios para asegurar que los cambios no introduzcan una regresión en el rendimiento. La forma más fácil de implementar Benchmarking Continuo con benchmarks de Gungraun es usar Bencher.

¿Qué es Bencher?

Bencher es un conjunto de herramientas de benchmarking continuo. ¿Alguna vez has tenido un impacto de regresión de rendimiento en tus usuarios? Bencher podría haber evitado que eso sucediera. Bencher te permite detectar y prevenir las regresiones de rendimiento antes de que se fusionen.

  • Ejecutar: Ejecute sus benchmarks localmente o en CI usando exactamente los mismos runners bare metal y sus herramientas de benchmarking favoritas. La CLI bencher orquesta la ejecución de sus benchmarks en bare metal y almacena sus resultados.
  • Seguir: Sigue los resultados de tus benchmarks con el tiempo. Monitoriza, realiza consultas y representa gráficamente los resultados utilizando la consola web de Bencher basándose en la rama de origen, el banco de pruebas y la medida.
  • Capturar: Captura las regresiones de rendimiento localmente o en CI usando exactamente el mismo hardware bare metal. Bencher utiliza analíticas de vanguardia y personalizables para detectar regresiones de rendimiento antes de que se fusionen.

Por las mismas razones que las pruebas unitarias se ejecutan para prevenir regresiones funcionales, los benchmarks deberían ejecutarse con Bencher para prevenir regresiones de rendimiento. ¡Los errores de rendimiento son errores!

Pasos para Bencher Cloud

  1. Crea una cuenta en Bencher Cloud.
  2. Crea un token de API y agrégalo a tu CI como un secreto.
  3. Crea un flujo de trabajo para tu CI, como GitHub Actions o GitLab CI/CD.
  4. Instala el Bencher CLI en tu flujo de trabajo de CI.
  5. Ejecuta tus benchmarks con el bencher run subcomando en tu flujo de trabajo de CI usando el adaptador rust_gungraun.

Pasos para Bencher Self-Hosted

  1. Crear una instancia de Bencher Self-Hosted.
  2. Crear una cuenta en tu instancia de Bencher Self-Hosted.
  3. Crear un token de API y añadirlo a tu CI como un secreto.
  4. Crear un flujo de trabajo para tu CI, como GitHub Actions o GitLab CI/CD.
  5. Instalar la Bencher CLI en tu flujo de trabajo de CI. Asegúrate de que la versión de la CLI coincide con la versión de tu instancia de Bencher Self-Hosted.
  6. Ejecutar tus benchmarks con el bencher run subcomando en tu flujo de trabajo de CI utilizando el rust_gungraun adaptador y configurando la opción --host a la URL de tu instancia de Bencher Self-Hosted.

🦀 Rust Gungraun

El adaptador Rust Gungraun (rust_gungraun) espera la salida de Gungraun. Las métricas (Measures) instructions, l1-hits, l2-hits, ram-hits, total-read-write y estimated-cycles se recogen por defecto. También se admiten métricas adicionales de Callgrind, Cachegrind y DHAT que Gungraun puede generar. Solo el valor reportado (es decir, value) está disponible para estas Measures. Ni lower_value ni upper_value se recopilan. Las Measures para este adaptador no se crean por defecto para todos los proyectos. Sin embargo, cuando uses este adaptador, estas Measures se crearán automáticamente para tu proyecto.

Gungraun es el sucesor renombrado de Iai-Callgrind.

Terminal window
bencher run --adapter rust_gungraun "cargo bench"

Tu próxima regresión de rendimiento no se anunciará sola

Atrápalo en la revisión, o págalo en producción.

🤖 Este documento fue traducido automáticamente por IA. Puede que no sea exacto y contenga errores. Si encuentra algún error, abra un problema en GitHub.