- 10 Feb, 2017 2 commits
-
-
Benjamin Peterson authored
-
Benjamin Peterson authored
-
- 09 Feb, 2017 10 commits
-
-
Victor Stinner authored
is_size_t test was reversed. Bug spotted by INADA Naoki.
-
Victor Stinner authored
test_unraisable() of test_exceptions expects that PyErr_WriteUnraisable(method) fails on repr(method). Before the previous change (7b8df4a5d81d), slot_tp_finalize() called PyErr_WriteUnraisable() with a PyMethodObject. In this case, repr(method) calls repr(self) which is BrokenRepr.__repr__() and the calls raises a new exception. After the previous change, slot_tp_finalize() uses an unbound method: repr() is called on a regular __del__() method which doesn't call repr(self). repr() doesn't fail anymore. PyErr_WriteUnraisable() doesn't call __repr__() anymore, so remove BrokenRepr unit test.
-
Victor Stinner authored
Issue #29507: Optimize slots calling Python methods. For Python methods, get the unbound Python function and prepend arguments with self, rather than calling the descriptor which creates a temporary PyMethodObject. Add a new _PyObject_FastCall_Prepend() function used to call the unbound Python method with self. It avoids the creation of a temporary tuple to pass positional arguments. Avoiding temporary PyMethodObject and avoiding temporary tuple makes Python slots up to 1.46x faster. Microbenchmark on a __getitem__() method implemented in Python: Median +- std dev: 121 ns +- 5 ns -> 82.8 ns +- 1.0 ns: 1.46x faster (-31%) Co-Authored-by:
INADA Naoki <songofacandy@gmail.com>
-
Serhiy Storchaka authored
-
Serhiy Storchaka authored
-
Serhiy Storchaka authored
-
Nick Coghlan authored
-
Nick Coghlan authored
-
Nick Coghlan authored
Add canonical header link on each page to corresponding major version of the documentation. Patch by Matthias Bussonnier.
-
Victor Stinner authored
Issue #29259, #29465: PyCFunction_Call() doesn't create anymore a redundant tuple to pass positional arguments for METH_VARARGS. Add a new cfunction_call() subfunction.
-
- 08 Feb, 2017 6 commits
-
-
Victor Stinner authored
Serhiy Storshaka pointed me that str(path) can emit a BytesWarning: use repr(path) instead.
-
Victor Stinner authored
Issue #29306: Destroy argstuple and kwdict if Py_EnterRecursiveCall() fails.
-
Victor Stinner authored
Write also dots into stderr, instead of stdout.
-
Victor Stinner authored
-
Victor Stinner authored
Log the OSError exception message.
-
Victor Stinner authored
* *PyCFunction_*Call*() functions now call Py_EnterRecursiveCall(). * PyObject_Call() now calls directly _PyFunction_FastCallDict() and PyCFunction_Call() to avoid calling Py_EnterRecursiveCall() twice per function call
-
- 07 Feb, 2017 9 commits
-
-
Berker Peksag authored
-
Berker Peksag authored
-
Berker Peksag authored
-
Mariatta Wijaya authored
-
Mariatta Wijaya authored
-
Mariatta Wijaya authored
-
Mariatta Wijaya authored
-
Mariatta Wijaya authored
-
Mariatta Wijaya authored
-
- 06 Feb, 2017 13 commits
-
-
Steve Dower authored
-
Steve Dower authored
-
Steve Dower authored
-
Steve Dower authored
-
Steve Dower authored
-
Raymond Hettinger authored
-
Raymond Hettinger authored
-
Victor Stinner authored
Issue #29452: Use METH_FASTCALL calling convention for index(), insert() and rotate() methods of collections.deque to avoid the creation a temporary tuple to pass position arguments. Speedup on deque methods: * d.rotate(): 1.10x faster * d.rotate(1): 1.24x faster * d.insert(): 1.18x faster * d.index(): 1.24x faster
-
Victor Stinner authored
Issue #27659: use -Werror=implicit-function-declaration when possible (GCC and Clang, but it depends on the compiler version). Patch written by Chi Hsuan Yen.
-
Victor Stinner authored
Issue #29362: Catch a crash of a worker process as a normal failure and continue to run next tests. It allows to get the usual test summary: single line result (OK/FAIL), total duration, etc.
-
Berker Peksag authored
-
Berker Peksag authored
-
Serhiy Storchaka authored
_PyArg_NoPositional() now are macros.
-