[Python-Dev] extremely slow exit for program having huge (45G) dict (python 2.5.2)

Kristján Valur Jónsson kristjan at ccpgames.com
Sat Dec 20 19:25:25 CET 2008


You can always try poor-man's profiling, which is surprisingly useful in the face of massive performance problems.
Just attach a debugger to the program, and when it suffering from a performance problem, break the execution on a regular basis. You are statistically very likely to get a callstack representative of the problem you are having.
Do this a few times and you will get a fair impression of what the program is spending its time on.
>From the debugger, you can also examine the python callstack of the program by examinging the 'f' local variable in the Frame Evaluation function.

Have fun,

K

-----Original Message-----
From: python-dev-bounces+kristjan=ccpgames.com at python.org [mailto:python-dev-bounces+kristjan=ccpgames.com at python.org] On Behalf Of Mike Coleman
Sent: 20. desember 2008 17:09
To: Andrew MacIntyre
Cc: Python Dev
Subject: Re: [Python-Dev] extremely slow exit for program having huge (45G) dict (python 2.5.2)


I'm not sure exactly how to attack this.  Callgrind is cool, but no
way will work on something this size.  Timed ltrace output might be
interesting.  Or maybe a gprof'ed Python, though that's more work.




More information about the Python-Dev mailing list