[pyar] abc.py:__instancecheck__ consumiendo CPU

Andres Riancho andres.riancho en gmail.com
Mie Abr 23 15:13:37 ART 2014


Roberto,

2014-04-23 14:36 GMT-03:00 Roberto Alsina <ralsina en netmanagers.com.ar>:
> On 23/04/14 14:28, Andres Riancho wrote:
>>
>> Lista,
>>
>>      Siguiendo con mis emails sobre profiling y optimizaciones les
>> quería consultar sobre algo raro que estoy viendo [0]. Basicamente lo
>> que ocurre es:
>>
>>          * Corro w3af con CPU profiling
>>          * Cargo el profiling en runsnake
>>          * Veo que un porcentaje considerable del tiempo de CPU esta
>> siendo utilizado en __instancecheck__ (ver imagen).
>>
>>      Busco en mi codigo y no estoy utilizando este metodo magico. Lo
>> que si utilizo bastante son llamadas a "isinstance" para asegurarme
>> que los tipos de datos en algunos lugares son los correctos.
>>
>>      Según runsnake tengo 1.2M de llamadas a __instancecheck__ , cada
>> una corriendo en 0.00003segundos. El total de tiempo que se ocupa en
>> esta funcion es de 37seg (aprox).
>>
>>      Alguien se topo con esto antes? Puede ser que no este relacionado
>> con "isinstance" y tenga algo que ver con este otro bug en python [1]?
>>
>> [0] http://i.imgur.com/lfiL6X2.png
>> [1] http://bugs.python.org/issue1438
>>
>> Saludos,
>
> Si tenes el dato de profiling, podes ver quien llama a __instancecheck__
> usando pstats:
>
> http://stefaanlippens.net/python_profiling_with_pstats_interactive_mode

Gracias, eso no se me habia ocurrido (aunque era lo obvio a probar!)
lo que obtuve fue [1]. En otras palabras, al parecer yappi [0], el
profiler que estoy usando, no sabe nada sobre los callers de
__instancecheck__ . Notar que aunque hay millones de llamadas a la
funcion, no hay callers :S

[1] https://gist.github.com/andresriancho/11226670
[0] https://pypi.python.org/pypi/yappi/

> _______________________________________________
> 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



-- 
Andrés Riancho
Project Leader at w3af - http://w3af.org/
Web Application Attack and Audit Framework
Twitter: @w3af
GPG: 0x93C344F3


More information about the pyar mailing list