[pypy-commit] pypy default: Tweak for the common case of no **keyword arguments.

arigo noreply at buildbot.pypy.org
Thu Sep 22 09:54:57 CEST 2011


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r47384:655453fd0333
Date: 2011-09-22 09:21 +0200
http://bitbucket.org/pypy/pypy/changeset/655453fd0333/

Log:	Tweak for the common case of no **keyword arguments.

diff --git a/lib_pypy/_functools.py b/lib_pypy/_functools.py
--- a/lib_pypy/_functools.py
+++ b/lib_pypy/_functools.py
@@ -14,10 +14,9 @@
             raise TypeError("the first argument must be callable")
         self.func = func
         self.args = args
-        self.keywords = keywords
+        self.keywords = keywords or None
 
     def __call__(self, *fargs, **fkeywords):
-        newkeywords = self.keywords.copy()
-        newkeywords.update(fkeywords)
-        return self.func(*(self.args + fargs), **newkeywords)
-
+        if self.keywords is not None:
+            fkeywords.update(self.keywords)
+        return self.func(*(self.args + fargs), **fkeywords)


More information about the pypy-commit mailing list