[Python-Dev] Psyco testing results

Itamar Shtull-Trauring twisted@itamarst.org
Sat, 02 Mar 2002 00:51:36 -0500


Skip Montanaro wrote:
>     Itamar> Basically, the key point is that you need to psyco.bind on the
>     Itamar> right functions.
> 
> Sounds like a job for hotshot:
> 
>     http://starship.python.net/crew/fdrake/talks/IPC10-HotShot-2002-Feb-06.ppt
>     http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/dist/src/Lib/hotshot/

Not exactly. I tried binding functions hotshot said were using a lot of 
CPU time, and it didn't always help. But certainly hotshot helped 
finding which ones to try.

On the subject of hotshot - I made a command line hotshot profiler so 
you can use it easily, as with the standard profiler (download it from 
http://itamarst.org/software/). It's great! Unlike the standard profiler 
the results are much nearer to reality since the profiler isn't using 
half your CPU time.

Doing some testing, I noticed some results that were obviously wrong. A 
function that is listed as using 2 seconds of time, when a consequent 
run only said 0.003 or something. Since this was a function that 
basically did:

     if self.tasks:
         return 0.0
     else:
         return None

and it was run a similar number of times (and no threads), I suspect the 
  2 seconds result was totally bogus. Unfortanutely I didn't remember to 
keep the hotshot logs. This happened at least twice that I noticed.