cpython: 8567bc2876af (original) (raw)

Mercurial > cpython

changeset 103336:8567bc2876af 2.7

document --with-optimizations in the README for issue26359. [#26359]

Gregory P. Smith greg@krypto.org [Google Inc.]
date Thu, 08 Sep 2016 18:37:59 +0000
parents cbf81969aba4
children c5b8de10aac2
files README
diffstat 1 files changed, 13 insertions(+), 5 deletions(-)[+] [-] README 18

line wrap: on

line diff

--- a/README +++ b/README @@ -173,10 +173,10 @@ rebuilt. In this case, you may have to build your desired target. The interpreter executable is built in the top level directory. -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 below. +To get an optimized build of Python, "configure --with-optimizations" before +you run make. This sets the default make targets up to enable Profile Guided +Optimization (PGO) and Link Time Optimization (LTO) on most platforms. +For more details, see the sections bellow. Once you have built a Python interpreter, see the subsections below on testing and installation. If you run into trouble, see the next @@ -194,7 +194,7 @@ 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. +If ran, "make profile-opt" will do several steps. First, the entire Python directory is cleaned of temporary files that may have resulted in a previous compilation. @@ -214,6 +214,14 @@ collected in the previous one. The end r that is optimized and suitable for distribution or production installation. +Link Time Optimization +---------------------- + +LTO takes advantages of recent compiler toolchains ability to optimize across +the otherwise arbitrary .o file boundary when building final executables or +shared libraries for additional performance gains. + + Troubleshooting ---------------