]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-34861: Make cumtime the default sorting key for cProfile (GH-31929)
authorDaniël van Noord <13665637+DanielNoord@users.noreply.github.com>
Wed, 30 Mar 2022 11:10:10 +0000 (13:10 +0200)
committerGitHub <noreply@github.com>
Wed, 30 Mar 2022 11:10:10 +0000 (12:10 +0100)
Doc/library/profile.rst
Lib/cProfile.py
Misc/NEWS.d/next/Library/2022-03-16-08-49-12.bpo-34861.p8ugVg.rst [new file with mode: 0644]

index cf324a57e79fdff8a7571891be302b2df06a3ad8..5278d1a58802eeb428c977319040a1aa450073aa 100644 (file)
@@ -66,22 +66,23 @@ your system.)
 The above action would run :func:`re.compile` and print profile results like
 the following::
 
-         197 function calls (192 primitive calls) in 0.002 seconds
+         214 function calls (207 primitive calls) in 0.002 seconds
 
-   Ordered by: standard name
+   Ordered by: cumulative time
 
    ncalls  tottime  percall  cumtime  percall filename:lineno(function)
+        1    0.000    0.000    0.002    0.002 {built-in method builtins.exec}
         1    0.000    0.000    0.001    0.001 <string>:1(<module>)
-        1    0.000    0.000    0.001    0.001 re.py:212(compile)
-        1    0.000    0.000    0.001    0.001 re.py:268(_compile)
-        1    0.000    0.000    0.000    0.000 sre_compile.py:172(_compile_charset)
-        1    0.000    0.000    0.000    0.000 sre_compile.py:201(_optimize_charset)
-        4    0.000    0.000    0.000    0.000 sre_compile.py:25(_identityfunction)
-      3/1    0.000    0.000    0.000    0.000 sre_compile.py:33(_compile)
-
-The first line indicates that 197 calls were monitored.  Of those calls, 192
+        1    0.000    0.000    0.001    0.001 re.py:250(compile)
+        1    0.000    0.000    0.001    0.001 re.py:289(_compile)
+        1    0.000    0.000    0.000    0.000 sre_compile.py:759(compile)
+        1    0.000    0.000    0.000    0.000 sre_parse.py:937(parse)
+        1    0.000    0.000    0.000    0.000 sre_compile.py:598(_code)
+        1    0.000    0.000    0.000    0.000 sre_parse.py:435(_parse_sub)
+
+The first line indicates that 214 calls were monitored.  Of those calls, 207
 were :dfn:`primitive`, meaning that the call was not induced via recursion. The
-next line: ``Ordered by: standard name``, indicates that the text string in the
+next line: ``Ordered by: cumulative name``, indicates that the text string in the
 far right column was used to sort the output. The column headings include:
 
 ncalls
index 22a7d0aade855fd83e72d251cdf6ee4336e41765..9fc97883020840cb4dc7bc676b3e2d0cf311ddd6 100755 (executable)
@@ -140,7 +140,7 @@ def main():
         help="Save stats to <outfile>", default=None)
     parser.add_option('-s', '--sort', dest="sort",
         help="Sort order when printing to stdout, based on pstats.Stats class",
-        default=-1,
+        default=2,
         choices=sorted(pstats.Stats.sort_arg_dict_default))
     parser.add_option('-m', dest="module", action="store_true",
         help="Profile a library module", default=False)
diff --git a/Misc/NEWS.d/next/Library/2022-03-16-08-49-12.bpo-34861.p8ugVg.rst b/Misc/NEWS.d/next/Library/2022-03-16-08-49-12.bpo-34861.p8ugVg.rst
new file mode 100644 (file)
index 0000000..0277ffb
--- /dev/null
@@ -0,0 +1 @@
+Made cumtime the default sorting key for cProfile