summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCheryl Sabella <cheryl.sabella@gmail.com>2018-02-25 03:04:40 (GMT)
committerTerry Jan Reedy <tjreedy@udel.edu>2018-02-25 03:04:40 (GMT)
commit186b606d8a2ea4fd51b7286813302c8e8c7006cc (patch)
tree0ddf940b844971caa235adf62bc162a931394a51
parent6cdb7954b0a578d899e4b78b868ea59eef08480a (diff)
downloadcpython-186b606d8a2ea4fd51b7286813302c8e8c7006cc.zip
cpython-186b606d8a2ea4fd51b7286813302c8e8c7006cc.tar.gz
cpython-186b606d8a2ea4fd51b7286813302c8e8c7006cc.tar.bz2
bpo-17232: Clarify docs for -O and -OO command line options (#5839)
The 'optimization' is for space in the executable file, not for run time.
-rw-r--r--Doc/using/cmdline.rst15
-rw-r--r--Misc/NEWS.d/next/Documentation/2018-02-23-12-48-03.bpo-17232.tmuTKL.rst1
-rw-r--r--Misc/python.man7
-rw-r--r--Modules/main.c6
4 files changed, 23 insertions, 6 deletions
diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst
index 1e9ed6e..21ba0b5 100644
--- a/Doc/using/cmdline.rst
+++ b/Doc/using/cmdline.rst
@@ -260,12 +260,23 @@ Miscellaneous options
.. cmdoption:: -O
- Turn on basic optimizations. See also :envvar:`PYTHONOPTIMIZE`.
+ Remove assert statements and any code conditional on the value of
+ :const:`__debug__`. Augment the filename for compiled
+ (:term:`bytecode`) files by adding ``.opt-1`` before the ``.pyc``
+ extension (see :pep:`488`). See also :envvar:`PYTHONOPTIMIZE`.
+
+ .. versionchanged:: 3.5
+ Modify ``.pyc`` filenames according to :pep:`488`.
.. cmdoption:: -OO
- Discard docstrings in addition to the :option:`-O` optimizations.
+ Do :option:`-O` and also discard docstrings. Augment the filename
+ for compiled (:term:`bytecode`) files by adding ``.opt-2`` before the
+ ``.pyc`` extension (see :pep:`488`).
+
+ .. versionchanged:: 3.5
+ Modify ``.pyc`` filenames according to :pep:`488`.
.. cmdoption:: -q
diff --git a/Misc/NEWS.d/next/Documentation/2018-02-23-12-48-03.bpo-17232.tmuTKL.rst b/Misc/NEWS.d/next/Documentation/2018-02-23-12-48-03.bpo-17232.tmuTKL.rst
new file mode 100644
index 0000000..5c14e91
--- /dev/null
+++ b/Misc/NEWS.d/next/Documentation/2018-02-23-12-48-03.bpo-17232.tmuTKL.rst
@@ -0,0 +1 @@
+Clarify docs for -O and -OO. Patch by Terry Reedy.
diff --git a/Misc/python.man b/Misc/python.man
index 0f38c5b..a0084f8 100644
--- a/Misc/python.man
+++ b/Misc/python.man
@@ -164,10 +164,13 @@ for the named module and runs the corresponding
file as a script.
.TP
.B \-O
-Turn on basic optimizations. Given twice, causes docstrings to be discarded.
+Remove assert statements and any code conditional on the value of
+__debug__; augment the filename for compiled (bytecode) files by
+adding .opt-1 before the .pyc extension.
.TP
.B \-OO
-Discard docstrings in addition to the \fB-O\fP optimizations.
+Do \fB-O\fP and also discard docstrings; change the filename for
+compiled (bytecode) files by adding .opt-2 before the .pyc extension.
.TP
.B \-q
Do not print the version and copyright messages. These messages are
diff --git a/Modules/main.c b/Modules/main.c
index 1ce075f..f6b5104 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -96,8 +96,10 @@ static const char usage_2[] = "\
if stdin does not appear to be a terminal; also PYTHONINSPECT=x\n\
-I : isolate Python from the user's environment (implies -E and -s)\n\
-m mod : run library module as a script (terminates option list)\n\
--O : optimize generated bytecode slightly; also PYTHONOPTIMIZE=x\n\
--OO : remove doc-strings in addition to the -O optimizations\n\
+-O : remove assert and __debug__-dependent statements; add .opt-1 before\n\
+ .pyc extension; also PYTHONOPTIMIZE=x\n\
+-OO : do -O changes and also discard docstrings; add .opt-2 before\n\
+ .pyc extension\n\
-q : don't print version and copyright messages on interactive startup\n\
-s : don't add user site directory to sys.path; also PYTHONNOUSERSITE\n\
-S : don't imply 'import site' on initialization\n\