Estoy usando cProfile, pstats y Gprof2dot para crear un perfil de un script python bastante largo.cProfile and Python: Encontrar el número de línea específico que el código pasa más tiempo en
Los resultados me dicen que la mayor parte del tiempo se usa llamando a un método en un objeto que he definido. Sin embargo, lo que realmente me gustaría es saber exactamente qué número de línea dentro de esa función está consumiendo el tiempo.
¿Alguna idea de cómo obtener esta información adicional?
(Por cierto, estoy usando Python 2.6 en OSX Snow Leopard si eso ayuda ...)
refactorizar en funciones pequeñas no siempre es posible, y las llamadas a funciones son costosas en python, esto puede afectar la velocidad de manera significativa. –
+1: dividir en partes más pequeñas es la forma más sencilla. También puede envolver algunos bloques en funciones temporales definidas localmente (para crear perfiles). Esto incluso permitirá llamadas de contabilidad separadas a la misma función desde diferentes lugares. –