Profiling python 2.3
ken at switchboard.ericsson.se
Thu Jan 27 17:14:15 EST 2005
I wonder what would be a good way to profile a python program where the
main thread starts two worker threads that do all the work.
I get no infomation at all from the threads.
I tried to use profile.run as the first thing in the new thread and the
thread starts and works fine but when it exits I get this error
File "/usr/lib/python2.3/profile.py", line 71, in run
prof = prof.run(statement)
File "/usr/lib/python2.3/profile.py", line 403, in run
return self.runctx(cmd, dict, dict)
File "/usr/lib/python2.3/profile.py", line 409, in runctx
exec cmd in globals, locals
TypeError: exec: arg 1 must be a string, file, or code object
The main problem I have is that when I add a small function to a program
the resulting code takes longer than it should. The program takes
about 80% normally and end up taking more than 100%. I did a small test
of the new funtions and when I run that alone it only takes 20%-25% so
the result sould not take more than 50% and now I need to know where the
time is spent.
More information about the Python-list