diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2018-05-16 16:34:57 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-16 16:34:57 (GMT) |
commit | 447fdd178f1007294db38bf0392a0cf74a49d460 (patch) | |
tree | 07d3e788ddd8317559f9077da068562c32cd4247 /README.rst | |
parent | 6409e759df0654f4a081eb4a50aadde995382043 (diff) | |
download | cpython-447fdd178f1007294db38bf0392a0cf74a49d460.zip cpython-447fdd178f1007294db38bf0392a0cf74a49d460.tar.gz cpython-447fdd178f1007294db38bf0392a0cf74a49d460.tar.bz2 |
bpo-24318: Rewrite the README PGO section. (GH-6863)
* bpo-24318: Rewrite the README PGO section.
Merged from a phone on an airplane. :)
(cherry picked from commit 93f9a8a5afb58b1d2e4f27bb46d3d4e0fa8c08f0)
Co-authored-by: Gregory P. Smith <greg@krypto.org>
Diffstat (limited to 'README.rst')
-rw-r--r-- | README.rst | 39 |
1 files changed, 20 insertions, 19 deletions
@@ -93,25 +93,26 @@ Profile Guided Optimization ^^^^^^^^^^^^^^^^^^^^^^^^^^^ PGO takes advantage of recent versions of the GCC or Clang compilers. If used, -either via ``configure --enable-optimizations`` above or by manually running -``make profile-opt`` regardless of configure flags it will do several steps. - -First, the entire Python directory is cleaned of temporary files that may have -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. -The binary resulting from 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 suppressed. - -Finally, the last step is to rebuild the interpreter, using the information -collected in the previous one. The end result will be a Python binary that is -optimized and suitable for distribution or production installation. +either via ``configure --enable-optimizations`` or by manually running +``make profile-opt`` regardless of configure flags, the optimized build +process will perform the following steps: + +The entire Python directory is cleaned of temporary files that may have +resulted from a previous compilation. + +An instrumented version of the interpreter is built, using suitable compiler +flags for each flavour. Note that this is just an intermediary step. The +binary resulting from this step is not good for real life workloads as it has +profiling instructions embedded inside. + +After the instrumented interpreter is built, the Makefile will 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 suppressed. + +The final step is to build the actual interpreter, using the information +collected from the instrumented one. The end result will be a Python binary +that is optimized; suitable for distribution or production installation. Link Time Optimization |