Support cache sizes.
diff --git a/Lib/functools.py b/Lib/functools.py
index f6ae4f4..9f28004 100644
--- a/Lib/functools.py
+++ b/Lib/functools.py
@@ -144,7 +144,7 @@
                     wrapper.misses += 1
                     if len(cache) > maxsize:
                         # purge the 10% least frequently used entries
-                        for key, _ in nsmallest(maxsize // 10,
+                        for key, _ in nsmallest(maxsize // 10 or 1,
                                                 use_count.items(),
                                                 key=itemgetter(1)):
                             del cache[key], use_count[key]