From: Victor Stinner Date: Wed, 24 Aug 2016 22:58:58 +0000 (+0200) Subject: _pickle: remove outdated comment X-Git-Tag: v3.6.0b1~553 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b98b927e72b21bd821c20d2b5bc5ec6da8bb6916;p=python _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). --- diff --git a/Modules/_pickle.c b/Modules/_pickle.c index fed3fa221e..f029ed6645 100644 --- a/Modules/_pickle.c +++ b/Modules/_pickle.c @@ -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;