Articles of cprofile

¿Qué es este resultado cProfile que me dice que necesito arreglarlo?

Me gustaría mejorar el rendimiento de un script de Python y he estado usando cProfile para generar un informe de rendimiento: python -m cProfile -o chrX.prof ./bgchr.py …args… Abrí este archivo chrX.prof con pstats de Python e pstats las estadísticas: Python 2.7 (r27:82500, Oct 5 2010, 00:24:22) [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2 […]

¿Efectivo Cython cProfiling implica escribir muchas funciones secundarias?

Estoy tratando de optimizar algunos códigos con Cython, pero cProfile no proporciona suficiente información. Para hacer un buen trabajo en la creación de perfiles, ¿debo crear muchas subrutinas func2, func3, …, func40? Tenga en cuenta a continuación que tengo una función func1 en mycython.pyx , pero tiene muchos bucles y manipulaciones internas. Pero cProfile no […]

Rendimiento de los recursos de la biblioteca en comparación con el código python

Como respuesta a mi pregunta Encuentra la posición basada en 1 en la que dos listas son las mismas , obtuve la sugerencia de usar las herramientas de la biblioteca C para acelerar las cosas. Para verificar codifiqué la siguiente prueba usando cProfile: from itertools import takewhile, izip def match_iter(self, other): return sum(1 for x […]

¿Perfilando un método de una clase en Python usando cProfile?

Me gustaría perfilar un método de una función en Python, usando cProfile. Intenté lo siguiente: import cProfile as profile # Inside the class method… profile.run(“self.myMethod()”, “output_file”) Pero no funciona. ¿Cómo puedo llamar a un método self con “run”?

cProfile guardar los datos en un archivo provoca jumbles de caracteres

Estoy usando cProfile en un módulo llamado bot4CA.py, así que en la consola escribo: python -m cProfile -o thing.txt bot4CA.py Después de que el módulo se ejecuta y sale, crea un archivo llamado thing.txt y cuando lo abro, hay algo de información allí, y el rest es una mezcla de caracteres en lugar de un […]

Error al crear un perfil de un script de Python multiprocesamiento que funciona perfectamente con cProfile

He escrito un pequeño script en Python que utiliza multiprocessing (consulte https://stackoverflow.com/a/41875711/1878788 ). Funciona cuando lo pruebo: $ ./forkiter.py 0 1 2 3 4 sum of x+1: 15 sum of 2*x: 20 sum of x*x: 30 Pero cuando trato de cProfile perfil con cProfile , obtengo lo siguiente: $ python3.6 -m cProfile -o forkiter.prof ./forkiter.py […]

PyPy significativamente más lento que CPython

He estado probando un sistema de caché de mi creación. Su propósito es acelerar una aplicación web Django. Almacena todo en la memoria. Según cProfile, la mayor parte del tiempo en mis pruebas se pasa dentro de QuerySet._clone (), lo que resulta terriblemente ineficiente (en realidad no es tan extraño dada la implementación). Tenía grandes […]

¿Puedo ejecutar line_profiler sobre una prueba pytest?

He identificado algunas pruebas pytest de larga duración con py.test –durations=10 Me gustaría instrumentar una de esas pruebas ahora con algo como line_profiler o cprofile. Realmente quiero obtener los datos del perfil de la propia prueba, ya que la configuración o el desassembly de pytest podrían ser parte de lo que es lento. Sin embargo, […]

Perfil de multiproceso Python

Estoy luchando para descubrir cómo perfilar un script de python multiproceso simple import multiprocessing import cProfile import time def worker(num): time.sleep(3) print ‘Worker:’, num if __name__ == ‘__main__’: for i in range(5): p = multiprocessing.Process(target=worker, args=(i,)) cProfile.run(‘p.start()’, ‘prof%d.prof’ %i) Estoy iniciando 5 procesos y, por lo tanto, cProfile genera 5 archivos diferentes. Dentro de cada […]

Usando los resultados de cProfile con KCacheGrind

Estoy usando cProfile para perfilar mi progtwig Python. Sobre la base de esta charla , tenía la impresión de que KCacheGrind podría analizar y mostrar la salida de cProfile. Sin embargo, cuando voy a importar el archivo, KCacheGrind solo muestra un error de ‘Formato de archivo desconocido’ en la barra de estado y no muestra […]