Biblioteca .NET que convierte métodos de C# en benchmarks reproducibles, con calentamiento automático, estadísticas e informes de resultados.
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
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
Profiler línea por línea para Python que muestra cuánto tarda en ejecutarse cada línea del código fuente de una función decorada.
Aplicación Java de código abierto para hacer pruebas de carga y medir el rendimiento de aplicaciones web y otros servicios.
Herramienta multiplataforma de línea de comandos para pruebas de rendimiento y carga de HTTP(S), escrita en Go y basada en fasthttp para procesar muchas solicitudes.
Herramienta de línea de comandos para comparar el rendimiento y probar la carga de servicios gRPC, con concurrencia, límites de tasa y formatos de salida configurables.
Framework de macrobenchmarking para Elasticsearch que configura clústeres, ejecuta pruebas de rendimiento y compara resultados.