From 59e3fddca7272ae32f0b4cff1e837d32242859c7 Mon Sep 17 00:00:00 2001 From: "Gregory P. Smith [Google]" Date: Tue, 15 May 2018 08:34:49 -0700 Subject: [PATCH 1/2] bpo-24318: Rewrite the README PGO section. --- README.rst | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/README.rst b/README.rst index 5420558f0dcaadc..41d98d2767e3647 100644 --- a/README.rst +++ b/README.rst @@ -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, it 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 From b3352defea07e0cbe91ddd4aec1270c7a62dc2bd Mon Sep 17 00:00:00 2001 From: "Gregory P. Smith" Date: Tue, 15 May 2018 12:25:20 -0400 Subject: [PATCH 2/2] remove extraneous "it" --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 41d98d2767e3647..d30b237a01199cf 100644 --- a/README.rst +++ b/README.rst @@ -94,7 +94,7 @@ Profile Guided Optimization PGO takes advantage of recent versions of the GCC or Clang compilers. If used, either via ``configure --enable-optimizations`` or by manually running -``make profile-opt`` regardless of configure flags, it the optimized build +``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