Repolode
ionelmc

ionelmc/pytest-benchmark

Un plugin de pytest que ofrece un fixture de benchmark para medir el tiempo de ejecución de funciones de Python en suites de pruebas de pytest.

Estrellas
1,459
Forks
140
Issues abiertos
125
Último commit
hace 7 días

¿Qué es?

pytest-benchmark añade un fixture de benchmark a pytest. Al pasarle una función, la ejecuta repetidamente, agrupa las ejecuciones en rondas calibradas según el temporizador elegido y muestra los resultados de tiempo en el resumen de pytest.

El fixture acepta argumentos posicionales o con nombre, y el modo pedantic permite controlar explícitamente las funciones de preparación, el número de iteraciones y el de rondas. Los resultados se pueden comparar con los de ejecuciones anteriores, y el plugin puede generar histogramas de la distribución de tiempos.

Como se integra con pytest, los benchmarks se escriben como funciones de prueba habituales y se ejecutan con el comando de pytest de siempre. El plugin mide funciones individuales, así que para medir un bloque de código más grande hay que encapsularlo en una función.

Funciones clave

  • 01Ofrece un fixture de benchmark que mide el tiempo de ejecución de una llamada a una función dentro de una prueba de pytest.
  • 02Agrupa las mediciones en rondas calibradas según el temporizador elegido.
  • 03Incluye un modo pedantic para personalizar la preparación, las iteraciones y las rondas.
  • 04Permite comparar los resultados con los de ejecuciones anteriores del benchmark.
  • 05Puede generar histogramas de los resultados de tiempo.

Casos de uso

  • Seguir las regresiones de rendimiento de funciones de Python entre commits.
  • Comparar dos implementaciones de una misma función dentro de una suite de pruebas.
  • Medir rutas críticas de una biblioteca y mantener los benchmarks dentro del flujo de trabajo existente con pytest.

Inicio rápido

  1. 1

    Instala el complemento desde PyPI

    pip install pytest-benchmark

Antes de usarlo

  • Solo realiza benchmarks de funciones individuales, así que necesitas una función envolvente para medir programas completos o bloques de código.

Temas

Preguntas frecuentes

¿Qué es pytest-benchmark?
Un plugin de pytest que ofrece un fixture de benchmark para medir el tiempo de ejecución de funciones de Python en suites de pruebas de pytest. pytest-benchmark añade un fixture de benchmark a pytest. Al pasarle una función, la ejecuta repetidamente, agrupa las ejecuciones en rondas calibradas según el temporizador elegido y muestra los resultados de tiempo en el resumen de pytest.
¿pytest-benchmark es gratuito? ¿Qué licencia tiene?
pytest-benchmark es open source bajo la licencia BSD-2-Clause. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿pytest-benchmark sigue mantenido?
Mantenimiento activo. El último commit de pytest-benchmark fue el 1 nov 2026.
¿Para qué puedo usar pytest-benchmark?
Seguir las regresiones de rendimiento de funciones de Python entre commits. Comparar dos implementaciones de una misma función dentro de una suite de pruebas. Medir rutas críticas de una biblioteca y mantener los benchmarks dentro del flujo de trabajo existente con pytest.
¿Cómo se instala pytest-benchmark?
Instala el complemento desde PyPI: pip install pytest-benchmark
¿Dónde consigo pytest-benchmark?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/ionelmc/pytest-benchmark

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados