profile.run won't run!
Nick Perkins
nperkins7 at home.com
Fri Jun 15 01:25:12 EDT 2001
"Rainer Deyke" <root at rainerdeyke.com> wrote in message
news:24gW6.284794$oc7.18522490 at news2.rdc2.tx.home.com...
> ...
> import __main__
> __main__.solve_problem = solve_problem
> profile.run('solve_problem')
Thanks, the profiler actually runs, now!
but...
The broblem is that it seems not to actually execute the function...
..here is a simpler script that shows what i mean...
--BEGIN SCRIPT
import time, profile
def solve_problem():
start = time.time()
print 'SOLVING PROBLEM...'
x=0
for i in range(10**3):
for j in range(10**3):
x = i + j
print x
print 'DONE in %.2f seconds'%(time.time()-start)
from pprint import pprint as pp
print 'globals:'
pp (globals())
print
print 'locals:'
pp (locals())
print 'direct:'
solve_problem()
import __main__
__main__.solve_problem = solve_problem
print 'profiled:'
profile.run('solve_problem')
--END SCRIPT
..which produces ..
--BEGIN OUTPUT
globals:
{'__builtins__': <module '__builtin__' (built-in)>,
'__doc__': None,
'__name__': '__main__',
'pp': <function pprint at 00EBD61C>,
'profile': <module 'profile' from 'c:\python21\lib\profile.pyc'>,
'pywin': <module 'pywin' from 'c:\python21\pythonwin\pywin\__init__.pyc'>,
'solve_problem': <function solve_problem at 00EBB97C>,
'time': <module 'time' (built-in)>}
locals:
{'__builtins__': <module '__builtin__' (built-in)>,
'__doc__': None,
'__name__': '__main__',
'pp': <function pprint at 00EBD61C>,
'profile': <module 'profile' from 'c:\python21\lib\profile.pyc'>,
'pywin': <module 'pywin' from 'c:\python21\pythonwin\pywin\__init__.pyc'>,
'solve_problem': <function solve_problem at 00EBB97C>,
'time': <module 'time' (built-in)>}
direct:
SOLVING PROBLEM...
1998
DONE in 1.75 seconds
profiled:
2 function calls in 0.029 CPU seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 0.000 0.000 <string>:1(?)
0 0.000 0.000 profile:0(profiler)
1 0.029 0.029 0.029 0.029 profile:0(solve_problem)
.. the profile.run(..) seems to have not actually called the function.
There is no output (which might be re-directed, i suppose),
but more importantly, not enough time elapsed for the fn to have been
called.
.. i am stumped. what is going on?
More information about the Python-list
mailing list