summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rwxr-xr-xLib/profile.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/Lib/profile.py b/Lib/profile.py
index afc47eb..a32a1c1 100755
--- a/Lib/profile.py
+++ b/Lib/profile.py
@@ -55,16 +55,24 @@ __all__ = ["run","help","Profile"]
# Note that an instance of Profile() is *not* needed to call them.
#**************************************************************************
-
-# simplified user interface
-def run(statement, *args):
+def run(statement, filename=None):
+ """Run statement under profiler optionally saving results in filename
+
+ This function takes a single argument that can be passed to the
+ "exec" statement, and an optional file name. In all cases this
+ routine attempts to "exec" its first argument and gather profiling
+ statistics from the execution. If no file name is present, then this
+ function automatically prints a simple profiling report, sorted by the
+ standard name string (file/line/function-name) that is presented in
+ each line.
+ """
prof = Profile()
try:
prof = prof.run(statement)
except SystemExit:
pass
- if args:
- prof.dump_stats(args[0])
+ if filename is not None:
+ prof.dump_stats(filename)
else:
return prof.print_stats()