LRU cache
Thomas Passin
list1 at tompassin.net
Sat Feb 18 10:29:32 EST 2023
On 2/18/2023 5:38 AM, Albert-Jan Roskam wrote:
> I sometimes use this trick, which I learnt from a book by Martelli.
> Instead of try/except, membership testing with "in" (__contains__) might
> be faster. Probably "depends". Matter of measuring.
> def somefunc(arg, _cache={}):
> if len(_cache) > 10 ** 5:
> _cache.pop()
> try:
> return _cache[arg]
> except KeyError:
> result = expensivefunc(arg)
> _cache[arg] = result
> return result
> Albert-Jan
_cache.get(arg) should be a little faster and use slightly fewer
resources than the try/except.
More information about the Python-list
mailing list