From 678e7f3be658df7e1bd06bb0c37d820143f15eca Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sun, 29 Apr 2012 12:28:02 -0700 Subject: Flatten the lru cache keyword args tuple for better memory utilization. --- Lib/functools.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Lib/functools.py b/Lib/functools.py index ae4175d..1e7795f 100644 --- a/Lib/functools.py +++ b/Lib/functools.py @@ -185,7 +185,9 @@ def lru_cache(maxsize=100, typed=False): key = args if kwds: sorted_items = tuple(sorted(kwds.items())) - key += kwd_mark + sorted_items + key += kwd_mark + key += tuple(k for k, v in sorted_items) + key += tuple(v for k, v in sorted_items) if typed: key += tuple(type(v) for v in args) if kwds: -- cgit v0.12