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
Victor Stinner
fd6d0d2a18
Issue #29368 : Fix _Pickle_FastCall() usage in do_append()
...
_Pickle_FastCall() has a surprising API: it decrements the reference counter of
its second argument.
2017-02-02 10:56:47 +01:00
Serhiy Storchaka
bee09aecc2
Issue #29368 : The extend() method is now called instead of the append()
...
method when unpickle collections.deque and other list-like objects.
This can speed up unpickling to 2 times.
2017-02-02 11:12:47 +02:00
Benjamin Peterson
2145387abc
merge 3.6 ( #29398 )
2017-01-31 23:31:20 -08:00
Benjamin Peterson
2b3f4c1efb
merge 3.5 ( #29398 )
2017-01-31 23:31:10 -08:00
Benjamin Peterson
ec977c3028
gc types needs to be allocated as such ( closes #29398 )
2017-01-31 23:31:02 -08:00
doko@ubuntu.com
9ac4815240
merge 3.6
2017-01-31 13:53:39 +01:00
doko@ubuntu.com
cd12f7cb5c
merge 3.5
2017-01-31 13:51:21 +01:00
doko@ubuntu.com
34e7e2ecb1
- Issue #29169 : Update zlib to 1.2.10.
2017-01-31 13:49:48 +01:00
Martin Panter
3f16f57ea4
Issue #29384 : Remove Be OS scripts from Modules/, unused in 3.0+
2017-01-29 10:21:57 +00:00
Serhiy Storchaka
d1302c0154
Issue #28999 : Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever
...
possible but Coccinelle couldn't find opportunity.
2017-01-23 10:23:58 +02:00
Serhiy Storchaka
228b12edcc
Issue #28999 : Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever
...
possible. Patch is writen with Coccinelle.
2017-01-23 09:47:21 +02:00
Serhiy Storchaka
2a404b63d4
Issue #28769 : The result of PyUnicode_AsUTF8AndSize() and PyUnicode_AsUTF8()
...
is now of type "const char *" rather of "char *".
2017-01-22 23:07:07 +02: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
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
Serhiy Storchaka
c9ea933586
Issue #20186 : Converted the math module to Argument Clinic.
...
Patch by Tal Einat.
2017-01-19 18:13:09 +02:00
Serhiy Storchaka
b813a0e948
Issue #20186 : Converted the _operator module to Argument Clinic.
...
Patch by Tal Einat.
2017-01-19 17:44:13 +02:00
Gregory P. Smith
8128d5a491
Address a minor Coverity warning re: unchecked PyArg_ParseTuple calls
...
in socket.sendto(). A PyErr_Occurred() check was happening later, but
it is better to just use the return value and not call PyErr_Occurred().
2017-01-17 16:54:56 -08:00
Victor Stinner
aeaf294608
_hashopenssl uses METH_FASTCALL
2017-01-17 04:20:26 +01:00
Victor Stinner
0c4a828cad
Run Argument Clinic: METH_VARARGS=>METH_FASTCALL
...
Issue #29286 . Run Argument Clinic to get the new faster METH_FASTCALL calling
convention for functions using "boring" positional arguments.
Manually fix _elementtree: _elementtree_XMLParser_doctype() must remain
consistent with the clinic code.
2017-01-17 02:21:47 +01:00
Victor Stinner
259f0e4437
Run Argument Clinic: METH_VARARGS=>METH_FASTCALL
...
Issue #29286 . Run Argument Clinic to get the new faster METH_FASTCALL calling
convention for functions using only positional arguments.
2017-01-17 01:35:17 +01:00
Victor Stinner
3e1fad6913
Rename _PyArg_ParseStack to _PyArg_ParseStackAndKeywords
...
Issue #29286 .
2017-01-17 01:29:01 +01:00
Benjamin Peterson
510df6f272
merge 3.6
2017-01-16 00:05:54 -08:00
Benjamin Peterson
741c45adab
merge 3.5
2017-01-16 00:05:47 -08:00
Benjamin Peterson
a105dd3dc0
generate spaces instead of tabs into config.c
2017-01-16 00:05:12 -08: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
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
b37f3f6e6b
Issue #29195 : Removed support of deprecated undocumented keyword arguments
...
in methods of regular expression objects.
2017-01-13 08:53:58 +02:00
Serhiy Storchaka
8cbc51ab3d
Py_SIZE() was misused for dict.
2017-01-13 08:38:15 +02:00
Serhiy Storchaka
a6758427fd
Py_SIZE() was misused for dict.
2017-01-13 08:37:05 +02:00
Serhiy Storchaka
3023ebb43f
Py_SIZE() was misused for dict.
2017-01-13 08:34:34 +02:00
Raymond Hettinger
a24dca6a90
Fix typo
2017-01-12 22:25:25 -08:00
Serhiy Storchaka
617c7753ce
Issue #28969 : Fixed race condition in C implementation of functools.lru_cache.
...
KeyError could be raised when cached function with full cache was
simultaneously called from differen threads with the same uncached arguments.
2017-01-12 19:42:20 +02:00
Serhiy Storchaka
42e1ea9a10
Issue #28969 : Fixed race condition in C implementation of functools.lru_cache.
...
KeyError could be raised when cached function with full cache was
simultaneously called from differen threads with the same uncached arguments.
2017-01-12 19:12:21 +02:00
Serhiy Storchaka
67796521dd
Issue #28969 : Fixed race condition in C implementation of functools.lru_cache.
...
KeyError could be raised when cached function with full cache was
simultaneously called from differen threads with the same uncached arguments.
2017-01-12 18:34:33 +02:00
Raymond Hettinger
68191f8a9c
Backed out changeset ea064ff3c10f
2017-01-09 07:39:46 -08:00
Stefan Krah
3c29fd0074
While a speedup of 1% is measurable, contexts aren't created that often,
...
so let's defer this until 3.7, 3.8, ... all have this new function.
2017-01-09 13:53:32 +01:00
Stefan Krah
a40a3f35eb
Merge 3.6.
2017-01-09 13:12:09 +01:00
Stefan Krah
e660335b7e
Merge 3.5.
2017-01-09 13:11:51 +01:00
Stefan Krah
18e0a97a1a
Issue #28701 : Revert part of 5bdc8e1a50c8 for the following reasons:
...
- There was no real problem to begin with.
- The hypothetical problem has been fixed by 5bdc8e1a50c8.
2017-01-09 13:11:27 +01:00
Serhiy Storchaka
32999ab48a
Issue #29190 : Fixed possible errors in comparing strings in the pickle module.
2017-01-09 10:10:07 +02:00
Serhiy Storchaka
f0f35a6720
Issue #29190 : Fixed possible errors in comparing strings in the pickle module.
2017-01-09 10:09:43 +02:00
Serhiy Storchaka
9937d90ee8
Issue #29190 : Fixed possible errors in comparing strings in the pickle module.
2017-01-09 10:04:34 +02:00
Raymond Hettinger
9d60b94427
Sync-up lru_cache() C code with space saving feature in the Python version.
2017-01-08 19:34:28 -08:00
Raymond Hettinger
dda44682c6
Complete the merge for issue #29203
2017-01-08 18:04:30 -08:00
Raymond Hettinger
4ee39141e8
Issue #29203 : functools.lru_cache() now respects PEP 468
2017-01-08 17:28:20 -08:00
Xiang Zhang
ce16c6827c
Issue #29034 : Merge 3.6.
2017-01-08 23:30:05 +08:00