mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
_pickle: remove outdated comment
_Pickle_FastCall() is now fast again! The optimization was introduced in Python 3.2, removed in Python 3.4 and reintroduced in Python 3.6 (thanks to the new generic fastcall functions).
This commit is contained in:
parent
53cb489ed0
commit
b98b927e72
1 changed files with 0 additions and 11 deletions
|
@ -346,17 +346,6 @@ _Pickle_FastCall(PyObject *func, PyObject *obj)
|
|||
{
|
||||
PyObject *result;
|
||||
|
||||
/* Note: this function used to reuse the argument tuple. This used to give
|
||||
a slight performance boost with older pickle implementations where many
|
||||
unbuffered reads occurred (thus needing many function calls).
|
||||
|
||||
However, this optimization was removed because it was too complicated
|
||||
to get right. It abused the C API for tuples to mutate them which led
|
||||
to subtle reference counting and concurrency bugs. Furthermore, the
|
||||
introduction of protocol 4 and the prefetching optimization via peek()
|
||||
significantly reduced the number of function calls we do. Thus, the
|
||||
benefits became marginal at best. */
|
||||
|
||||
result = _PyObject_CallArg1(func, obj);
|
||||
Py_DECREF(obj);
|
||||
return result;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue