[pyar] unittesting performance

Ezequiel Brizuela [aka EHB or qlixed] qlixed en gmail.com
Vie Mayo 9 13:41:30 ART 2014


Considerenme un tipo chapado a la antigua... pero las pruebas de
performance no deberian ser parte del unittest.
Deberia estar en una etapa posterior.
Lo q si podrias integrar al final del unitesting es la ejecucion de pruebas
de velocidad guardando numeros crudos para dps procesar una vez que se
finalizo el unittesting.
Pero sin chequear resultados. Los resultados medilos aparte.
Como te comentaron antes: si podes usa graphite u alguna otra cosa
(csv+excel eh visto) para verificar los tiempos, revisar graficas y setear
thresholds de alarma.
Lista,

    Estuve mejorando la performance de algunas funciones, y ahora
quiero hacer un unittest que verifique mis mejoras. Lo primero que se
me ocurrio fue algo como:

start = time.time()
funcion()
end = time.time()
self.assertLower(end-start, 10)

    Eso "funciona", pero no escala, algunos de los problemas:

* Si el dia de mañana me compro una PC dos veces mas rapida, y hago
que la funcion sea menos performance, el test va a pasar (y no
deberia).

* Si hay mas de un desarrollador corriendo este test, cada uno con una
PC distinta, es posible que a uno le pase y a otro le falle

* Si la PC donde se ejecuta el test esta bajo mucha carga, el test
falla y no es por un problema del codigo.

    Entonces lo que pense en hacer, y no encontre como, es contar la
cantidad de instrucciones de la maquina virtual de python que se
ejecutan para "funcion()", a lo que me gustaria llegar es:

start = vm.instructions.count()
funcion()
end = vm.instructions.count()
self.assertLower(end-start, 1047928)

    Esto creo yo que soluciona todos los problemas anteriores, pero...
no encontre como obtener el numero de instrucciones ejecutadas por la
VM. Es posible? A alguien se le ocurre otra solucion al problema?

Saludos,
--
Andrés Riancho
Project Leader at w3af - http://w3af.org/
Web Application Attack and Audit Framework
Twitter: @w3af
GPG: 0x93C344F3
_______________________________________________
pyar mailing list pyar en python.org.ar
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140509/c25243d9/attachment.html>


More information about the pyar mailing list