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.
-- https://mail.python.org/mailman/listinfo/python-list