diff options
author | Christian Heimes <christian@cheimes.de> | 2007-12-31 16:14:33 (GMT) |
---|---|---|
committer | Christian Heimes <christian@cheimes.de> | 2007-12-31 16:14:33 (GMT) |
commit | 5b5e81c637eb115b27b4c5c66cf1cf348c706162 (patch) | |
tree | e83d0ce68e92750e40fbb901a0659bade6f41674 /Doc/library/profile.rst | |
parent | 862543aa85249b46649b60da96743b4b14c6c83b (diff) | |
download | cpython-5b5e81c637eb115b27b4c5c66cf1cf348c706162.zip cpython-5b5e81c637eb115b27b4c5c66cf1cf348c706162.tar.gz cpython-5b5e81c637eb115b27b4c5c66cf1cf348c706162.tar.bz2 |
Merged revisions 59605-59624 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r59606 | georg.brandl | 2007-12-29 11:57:00 +0100 (Sat, 29 Dec 2007) | 2 lines
Some cleanup in the docs.
........
r59611 | martin.v.loewis | 2007-12-29 19:49:21 +0100 (Sat, 29 Dec 2007) | 2 lines
Bug #1699: Define _BSD_SOURCE only on OpenBSD.
........
r59612 | raymond.hettinger | 2007-12-29 23:09:34 +0100 (Sat, 29 Dec 2007) | 1 line
Simpler documentation for itertools.tee(). Should be backported.
........
r59613 | raymond.hettinger | 2007-12-29 23:16:24 +0100 (Sat, 29 Dec 2007) | 1 line
Improve docs for itertools.groupby(). The use of xrange(0) to create a unique object is less obvious than object().
........
r59620 | christian.heimes | 2007-12-31 15:47:07 +0100 (Mon, 31 Dec 2007) | 3 lines
Added wininst-9.0.exe executable for VS 2008
Integrated bdist_wininst into PCBuild9 directory
........
r59621 | christian.heimes | 2007-12-31 15:51:18 +0100 (Mon, 31 Dec 2007) | 1 line
Moved PCbuild directory to PC/VS7.1
........
r59622 | christian.heimes | 2007-12-31 15:59:26 +0100 (Mon, 31 Dec 2007) | 1 line
Fix paths for build bot
........
r59623 | christian.heimes | 2007-12-31 16:02:41 +0100 (Mon, 31 Dec 2007) | 1 line
Fix paths for build bot, part 2
........
r59624 | christian.heimes | 2007-12-31 16:18:55 +0100 (Mon, 31 Dec 2007) | 1 line
Renamed PCBuild9 directory to PCBuild
........
Diffstat (limited to 'Doc/library/profile.rst')
-rw-r--r-- | Doc/library/profile.rst | 91 |
1 files changed, 46 insertions, 45 deletions
diff --git a/Doc/library/profile.rst b/Doc/library/profile.rst index cc02436..fe3cadf 100644 --- a/Doc/library/profile.rst +++ b/Doc/library/profile.rst @@ -72,47 +72,47 @@ is not so far as well-tested and might not be available on all systems. :mod:`cProfile` is really a compatibility layer on top of the internal :mod:`_lsprof` module. -.. % \section{How Is This Profiler Different From The Old Profiler?} -.. % \nodename{Profiler Changes} -.. % -.. % (This section is of historical importance only; the old profiler -.. % discussed here was last seen in Python 1.1.) -.. % -.. % The big changes from old profiling module are that you get more -.. % information, and you pay less CPU time. It's not a trade-off, it's a -.. % trade-up. -.. % -.. % To be specific: -.. % -.. % \begin{description} -.. % -.. % \item[Bugs removed:] -.. % Local stack frame is no longer molested, execution time is now charged -.. % to correct functions. -.. % -.. % \item[Accuracy increased:] -.. % Profiler execution time is no longer charged to user's code, -.. % calibration for platform is supported, file reads are not done \emph{by} -.. % profiler \emph{during} profiling (and charged to user's code!). -.. % -.. % \item[Speed increased:] -.. % Overhead CPU cost was reduced by more than a factor of two (perhaps a -.. % factor of five), lightweight profiler module is all that must be -.. % loaded, and the report generating module (\module{pstats}) is not needed -.. % during profiling. -.. % -.. % \item[Recursive functions support:] -.. % Cumulative times in recursive functions are correctly calculated; -.. % recursive entries are counted. -.. % -.. % \item[Large growth in report generating UI:] -.. % Distinct profiles runs can be added together forming a comprehensive -.. % report; functions that import statistics take arbitrary lists of -.. % files; sorting criteria is now based on keywords (instead of 4 integer -.. % options); reports shows what functions were profiled as well as what -.. % profile file was referenced; output format has been improved. -.. % -.. % \end{description} +.. \section{How Is This Profiler Different From The Old Profiler?} + \nodename{Profiler Changes} + + (This section is of historical importance only; the old profiler + discussed here was last seen in Python 1.1.) + + The big changes from old profiling module are that you get more + information, and you pay less CPU time. It's not a trade-off, it's a + trade-up. + + To be specific: + + \begin{description} + + \item[Bugs removed:] + Local stack frame is no longer molested, execution time is now charged + to correct functions. + + \item[Accuracy increased:] + Profiler execution time is no longer charged to user's code, + calibration for platform is supported, file reads are not done \emph{by} + profiler \emph{during} profiling (and charged to user's code!). + + \item[Speed increased:] + Overhead CPU cost was reduced by more than a factor of two (perhaps a + factor of five), lightweight profiler module is all that must be + loaded, and the report generating module (\module{pstats}) is not needed + during profiling. + + \item[Recursive functions support:] + Cumulative times in recursive functions are correctly calculated; + recursive entries are counted. + + \item[Large growth in report generating UI:] + Distinct profiles runs can be added together forming a comprehensive + report; functions that import statistics take arbitrary lists of + files; sorting criteria is now based on keywords (instead of 4 integer + options); reports shows what functions were profiled as well as what + profile file was referenced; output format has been improved. + + \end{description} .. _profile-instant: @@ -172,7 +172,7 @@ second method sorted all the entries according to the standard module/line/name string that is printed. The third method printed out all the statistics. You might try the following sort calls: -.. % (this is to comply with the semantics of the old profiler). +.. (this is to comply with the semantics of the old profiler). :: @@ -363,6 +363,8 @@ Analysis of the profiler data is done using the :class:`Stats` class. a single report. If additional files need to be combined with data in an existing :class:`Stats` object, the :meth:`add` method can be used. + .. (such as the old system profiler). + .. _profile-stats: @@ -457,7 +459,7 @@ The :class:`Stats` Class (numeric) is used, only one sort key (the numeric key) will be used, and additional arguments will be silently ignored. - .. % For compatibility with the old profiler, + .. For compatibility with the old profiler, .. method:: Stats.reverse_order() @@ -466,8 +468,7 @@ The :class:`Stats` Class within the object. Note that by default ascending vs descending order is properly selected based on the sort key of choice. - .. % This method is provided primarily for - .. % compatibility with the old profiler. + .. This method is provided primarily for compatibility with the old profiler. .. method:: Stats.print_stats([restriction, ...]) |