diff options
author | orivej <orivej@yandex-team.ru> | 2022-02-10 16:44:49 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:49 +0300 |
commit | 718c552901d703c502ccbefdfc3c9028d608b947 (patch) | |
tree | 46534a98bbefcd7b1f3faa5b52c138ab27db75b7 /contrib/tools/python/src/README | |
parent | e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (diff) | |
download | ydb-718c552901d703c502ccbefdfc3c9028d608b947.tar.gz |
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/tools/python/src/README')
-rw-r--r-- | contrib/tools/python/src/README | 108 |
1 files changed, 54 insertions, 54 deletions
diff --git a/contrib/tools/python/src/README b/contrib/tools/python/src/README index 689a3e38dc..9fa216465f 100644 --- a/contrib/tools/python/src/README +++ b/contrib/tools/python/src/README @@ -1,9 +1,9 @@ -This is Python version 2.7.16 -============================= +This is Python version 2.7.16 +============================= Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, -2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Python Software Foundation. All -rights reserved. +2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Python Software Foundation. All +rights reserved. Copyright (c) 2000 BeOpen.com. All rights reserved. @@ -90,14 +90,14 @@ reStructuredText (2.6+) formats; the LaTeX and reStructuredText versions are primarily for documentation authors, translators, and people with special formatting requirements. -If you would like to contribute to the development of Python, relevant -documentation is available at: - - http://docs.python.org/devguide/ - -For information about building Python's documentation, refer to Doc/README.txt. - +If you would like to contribute to the development of Python, relevant +documentation is available at: + http://docs.python.org/devguide/ + +For information about building Python's documentation, refer to Doc/README.txt. + + Web sites --------- @@ -174,11 +174,11 @@ rebuilt. In this case, you may have to run make again to correctly build your desired target. The interpreter executable is built in the top level directory. -To get an optimized build of Python, "configure --enable-optimizations" before -you run make. This sets the default make targets up to enable Profile Guided -Optimization (PGO) and may be used to auto-enable Link Time Optimization (LTO) -on some platforms. For more details, see the sections bellow. - +To get an optimized build of Python, "configure --enable-optimizations" before +you run make. This sets the default make targets up to enable Profile Guided +Optimization (PGO) and may be used to auto-enable Link Time Optimization (LTO) +on some 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 section. @@ -191,39 +191,39 @@ guidance of the setup.py script, which is run by Make after the interpreter has been built. -Profile Guided Optimization ---------------------------- - -PGO takes advantage of recent versions of the GCC or Clang compilers. -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. - -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 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. - - -Link Time Optimization ----------------------- - -Enabled via configure's --with-lto flag. 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. - - +Profile Guided Optimization +--------------------------- + +PGO takes advantage of recent versions of the GCC or Clang compilers. +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. + +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 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. + + +Link Time Optimization +---------------------- + +Enabled via configure's --with-lto flag. 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 --------------- @@ -287,7 +287,7 @@ longer: - NeXT - Irix 4 and --with-sgi-dl - Linux 1 -- Systems defining __d6_pthread_create (configure.ac) +- Systems defining __d6_pthread_create (configure.ac) - Systems defining PY_PTHREAD_D4, PY_PTHREAD_D6, or PY_PTHREAD_D7 in thread_pthread.h - Systems using --with-dl-dld @@ -726,10 +726,10 @@ platforms, additional compiler and/or linker options are required for threads to work properly. Below is a table of those options, collected by Bill Janssen. We would love to automate this process more, but the information below is not enough to write a patch for the -configure.ac file, so manual intervention is required. If you patch -the configure.ac file and are confident that the patch works, please +configure.ac file, so manual intervention is required. If you patch +the configure.ac file and are confident that the patch works, please send in the patch. (Don't bother patching the configure script itself --- it is regenerated each time the configure.ac file changes.) +-- it is regenerated each time the configure.ac file changes.) Compiler switches for threads ............................. @@ -1247,7 +1247,7 @@ RISCOS/ Files specific to RISC OS port Tools/ Some useful programs written in Python pyconfig.h.in Source from which pyconfig.h is created (GNU autoheader output) configure Configuration shell script (GNU autoconf output) -configure.ac Configuration specification (input for GNU autoconf) +configure.ac Configuration specification (input for GNU autoconf) install-sh Shell script used to install files setup.py Python script used to build extension modules |