Commit 7e4c1683 authored by Raymond Hettinger's avatar Raymond Hettinger

Minor optimization -- factor a constant expression out of the inner-loop.

parent f84f3c3d
......@@ -140,7 +140,7 @@ def lru_cache(maxsize=100):
tuple=tuple, sorted=sorted, len=len, KeyError=KeyError):
hits = misses = 0
kwd_mark = object() # separates positional and keyword args
kwd_mark = (object(),) # separates positional and keyword args
lock = Lock() # needed because ordereddicts aren't threadsafe
if maxsize is None:
......@@ -151,7 +151,7 @@ def lru_cache(maxsize=100):
nonlocal hits, misses
key = args
if kwds:
key += (kwd_mark,) + tuple(sorted(kwds.items()))
key += kwd_mark + tuple(sorted(kwds.items()))
try:
result = cache[key]
hits += 1
......@@ -170,7 +170,7 @@ def lru_cache(maxsize=100):
nonlocal hits, misses
key = args
if kwds:
key += (kwd_mark,) + tuple(sorted(kwds.items()))
key += kwd_mark + tuple(sorted(kwds.items()))
try:
with lock:
result = cache[key]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment