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.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to