Commit graph

8393 commits

Author SHA1 Message Date
Victor Stinner
3f2d10132d Issue #29300: Convert _struct module to Argument Clinic
* The struct module now requires contiguous buffers.
* Convert most functions and methods of the _struct module to Argument Clinic
* Use "Py_buffer" type for the "buffer" argument. Argument Clinic is
  responsible to create and release the Py_buffer object.
* Use "PyStructObject *" type for self to avoid explicit conversions.
* Add an unit test on the _struct.Struct.unpack_from() method to test passing
  arguments as keywords.
* Rephrase docstrings.
* Rename "fmt" argument to "format" in docstrings and the documentation.

As a side effect, functions and methods which used METH_VARARGS calling
convention like struct.pack() now use the METH_FASTCALL calling convention
which avoids the creation of temporary tuple to pass positional arguments and
so is faster. For example, struct.pack("i", 1) becomes 1.56x faster (-36%)::

    $ ./python -m perf timeit \
        -s 'import struct; pack=struct.pack' 'pack("i", 1)' \
        --compare-to=../default-ref/python
    Median +- std dev: 119 ns +- 1 ns -> 76.8 ns +- 0.4 ns: 1.56x faster (-36%)
    Significant (t=295.91)

Patch co-written with Serhiy Storchaka.
2017-02-02 12:09:30 +01:00
Berker Peksag
ebf8a6d9b0 Issue #29407: Merge from 3.6 2017-02-01 22:38:12 +03:00
Berker Peksag
c6fe419d1b Issue #29407: Merge from 3.5 2017-02-01 22:37:49 +03:00
Berker Peksag
d5adb63673 Issue #29407: Remove redundant ensure_future() calls in factorial example 2017-02-01 22:37:16 +03:00
Guido van Rossum
934aba66ef Issue #29377: Add three new wrappers to types.py (Manuel Krebber). 2017-02-01 10:55:58 -08:00
Martin Panter
d5feb49711 Issues #11670: Merge configparser doc from 3.6 2017-01-29 23:37:50 +00:00
Martin Panter
e334a53343 Issues #11670: Merge configparser doc from 3.5 2017-01-29 23:36:39 +00:00
Martin Panter
1f10671fc8 Issue #11670: readfp(fp) parameter name is different to read_file(f) 2017-01-29 23:33:27 +00:00
Raymond Hettinger
bea12f4ef3 merge 2017-01-28 20:17:07 -08:00
Raymond Hettinger
e53bd8e2d0 Issue 29310: Document typing.NamedTuple default argument syntax 2017-01-28 20:16:40 -08:00
Vinay Sajip
49688cdaa2 Closes #28784: Merged update from 3.6. 2017-01-27 13:05:09 +00:00
Vinay Sajip
dc4ce0e013 Fixes #28784: Clarified use of shlex.shlex with punctuation_chars. 2017-01-27 13:04:33 +00:00
Martin Panter
8c79c70554 Issues #29189: Merge indentation fixes from 3.6 2017-01-24 00:30:00 +00:00
Martin Panter
574ff0680f Issues #29189: Merge indentation fixes from 3.5 2017-01-24 00:29:11 +00:00
Martin Panter
ef107ee7a0 Issue #29189: Fix indentation in RST markup 2017-01-24 00:26:56 +00:00
Victor Stinner
0e830455cb Merge 3.6 2017-01-23 12:34:00 +01:00
Victor Stinner
01f5ae7b76 Issue #26273: Document TCP_USER_TIMEOUT and TCP_CONGESTION 2017-01-23 12:30:00 +01:00
Xiang Zhang
1dfaa6c38a Issue #29092: Merge 3.6. 2017-01-22 13:10:12 +08:00
Xiang Zhang
4459e009ed Issue #29092: Sync os.stat's doc and docstring on path type. 2017-01-22 13:04:17 +08:00
Xiang Zhang
d7d87ca9b0 Issue #29092: Sync os.stat's doc and docstring on path type. 2017-01-22 12:54:44 +08:00
Mark Dickinson
5e65cd39df Issue #29282: Backed out changeset b33012ef1417 2017-01-21 13:10:52 +00:00
Mark Dickinson
d1b230e48b Issue #29282: add fused multiply-add function, math.fma. 2017-01-21 12:35:30 +00:00
Ned Deily
88f5746c22 Issue #29316: merge 3.6 2017-01-20 10:17:11 -05:00
Ned Deily
67c1cb2008 Issue #29316: Restore the provisional status of typing module and add
corresponding note to documentation. Patch by Ivan L.
2017-01-20 10:13:23 -05:00
Raymond Hettinger
aecbef408d merge 2017-01-19 21:39:55 -08:00
Raymond Hettinger
a57a8a3e2d Issue #29281: Fill-in a missing versionchanged entry 2017-01-19 21:39:37 -08:00
Martin Panter
9722d7f142 Issue 29274: Merge doc fixes from 3.6 2017-01-18 12:11:42 +00:00
Martin Panter
4710935b11 Issue 29274: Merge doc fixes from 3.5 2017-01-18 12:11:12 +00:00
Martin Panter
37f183d43d Issue #29274: tests cases → test cases 2017-01-18 12:06:38 +00:00
Raymond Hettinger
e12c313f5e merge 2017-01-16 22:43:43 -08:00
Raymond Hettinger
80490525e0 Issue #29011: Fix an important omission by adding Deque to the typing module. 2017-01-16 22:42:37 -08:00
Raymond Hettinger
f6b96c7bb5 merge 2017-01-16 22:44:14 -08:00
INADA Naoki
015bce64b3 Issue #26110: Add document for LOAD_METHOD and CALL_METHOD opcode.
Changed stack layout bit for "easy to explain."
2017-01-16 17:23:30 +09:00
Martin Panter
446a498a63 Merge doc fixes from 3.6 2017-01-14 09:56:00 +00:00
Martin Panter
4659ddc433 Merge doc fixes from 3.5 2017-01-14 09:54:57 +00:00
Martin Panter
8f1378366e Avoid line breaks after hyphens, otherwise they are turned into spaces 2017-01-14 08:24:20 +00:00
Martin Panter
536d70ed33 Fix grammar, typos and markup in documentation and code comments
* Indent versionchanged at method level, not class level
* Mark up ``--help`` to avoid generating an en dash
* Use forward slash in Unix command line with a dollar sign ($) prompt
2017-01-14 08:23:08 +00:00
Serhiy Storchaka
9ed707eb4c Issue #29197: Removed deprecated function ntpath.splitunc(). 2017-01-13 20:55:05 +02:00
Serhiy Storchaka
4f76fb16b7 Issue #29210: Removed support of deprecated argument "exclude" in
tarfile.TarFile.add().
2017-01-13 13:25:24 +02:00
INADA Naoki
62db0db5cb Issue #29062: Merge hashlib-blake2.rst into hashlib.rst 2017-01-13 19:31:15 +09:00
INADA Naoki
e2f9e77df2 Issue #29062: Merge hashlib-blake2.rst into hashlib.rst 2017-01-13 19:29:58 +09:00
Serhiy Storchaka
cc283378d6 Issue #29192: Removed deprecated features in the http.cookies module. 2017-01-13 09:23:15 +02:00
Serhiy Storchaka
009b0a1fac Issue #29193: A format string argument for string.Formatter.format()
is now positional-only.
2017-01-13 09:10:51 +02:00
Alexander Belopolsky
f810d041dc Closes #28130: Documented that time.tzset() updates time module globals.
Thanks Greg Bengeult for the patch.
2017-01-12 13:17:23 -05:00
Serhiy Storchaka
3159b33a95 Merge with 3.5. 2017-01-11 20:17:34 +02:00
Serhiy Storchaka
87006a3d4a Issue #20804: Document the limitation of the unittest.mock.sentinel attributes. 2017-01-11 20:16:44 +02:00
Serhiy Storchaka
d9c956fb23 Issue #20804: The unittest.mock.sentinel attributes now preserve their
identity when they are copied or pickled.
2017-01-11 20:13:03 +02:00
Xiang Zhang
dbdfecebd2 Issue #29217: Merge 3.6. 2017-01-10 11:30:44 +08:00
Xiang Zhang
2427d00298 Issue #29217: Merge 3.5. 2017-01-10 11:30:02 +08:00
Xiang Zhang
8a17995589 Issue #29217: Fix the wrong type description of UUID.variant. 2017-01-10 11:29:27 +08:00