diff options
author | Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) <greg@krypto.org> | 2016-09-08 18:33:45 (GMT) |
---|---|---|
committer | Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) <greg@krypto.org> | 2016-09-08 18:33:45 (GMT) |
commit | 1699757901c8374b063fb585110780bb82faa3b2 (patch) | |
tree | 4f05ad10e4828c14b8c4f565d3efd11d907aa25c | |
parent | 207116b84c24ab58f6f95df059474605b2b06fb2 (diff) | |
parent | 014d52ffc4586e30a1fa4cbedc1532419a5916a1 (diff) | |
download | cpython-1699757901c8374b063fb585110780bb82faa3b2.zip cpython-1699757901c8374b063fb585110780bb82faa3b2.tar.gz cpython-1699757901c8374b063fb585110780bb82faa3b2.tar.bz2 |
document --with-optimizations in the README for issue26359.
-rw-r--r-- | README | 17 |
1 files changed, 13 insertions, 4 deletions
@@ -46,16 +46,17 @@ 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. +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. 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. @@ -75,6 +76,14 @@ collected in the previous one. The end result will be a Python binary 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. + + What's New ---------- |