diff options
author | Brett Cannon <brett@python.org> | 2015-09-18 22:17:37 (GMT) |
---|---|---|
committer | Brett Cannon <brett@python.org> | 2015-09-18 22:17:37 (GMT) |
commit | 36df60fe75dee098827cc2743afdb78b9a335491 (patch) | |
tree | 29447debeb6e6fea28b907eaf965457c4811b2eb /README | |
parent | f409c7cd1b8d3c365378252b76a804eab55e412e (diff) | |
parent | 7188a3efe07b9effdb760f3a96783f250214f0be (diff) | |
download | cpython-36df60fe75dee098827cc2743afdb78b9a335491.zip cpython-36df60fe75dee098827cc2743afdb78b9a335491.tar.gz cpython-36df60fe75dee098827cc2743afdb78b9a335491.tar.bz2 |
Merge for issue #24915
Diffstat (limited to 'README')
-rw-r--r-- | README | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -46,6 +46,34 @@ For example: (This will fail if you *also* built at the top-level directory. You should do a "make clean" at the toplevel first.) +If you need an optimized version of Python, you type "make profile-opt" in the +top level directory. This will rebuild the interpreter executable using Profile +Guided Optimization (PGO). For more details, see the section bellow. + + +Profile Guided Optimization +--------------------------- + +PGO takes advantage of recent versions of the GCC or Clang compilers. +If ran, the "profile-opt" rule will do several steps. + +First, the entire Python directory is cleaned of temporary files that +may resulted in a previous compilation. + +Then, an instrumented version of the interpreter is built, using suitable +compiler flags for each flavour. Note that this is just an intermediary +step and the binary resulted after this step is not good for real life +workloads, as it has profiling instructions embedded inside. + +After this instrumented version of the interpreter is built, the Makefile +will automatically run a training workload. This is necessary in order to +profile the interpreter execution. Note also that any output, both stdout +and stderr, that may appear at this step is supressed. + +Finally, the last step is to rebuild the interpreter, using the information +collected in the previous one. The end result will be a the Python binary +that is optimized and suitable for distribution or production installation. + What's New ---------- |