1
0
forked from VimPlug/jedi

speed up Builtin lookups

This commit is contained in:
Dave Halter
2014-04-25 14:12:28 +02:00
parent c790f88678
commit 6bec7ce847
3 changed files with 19 additions and 2 deletions

View File

@@ -147,6 +147,21 @@ def underscore_memoization(func):
return wrapper
def memoize(func):
"""A normal memoize function."""
dct = {}
def wrapper(*args, **kwargs):
key = (args, frozenset(kwargs.items()))
try:
return dct[key]
except KeyError:
result = func(*args, **kwargs)
dct[key] = result
return result
return wrapper
def cache_star_import(func):
def wrapper(evaluator, scope, *args, **kwargs):
with common.ignored(KeyError):