if maxsize == 0:
def wrapper(*args, **kwds):
- # No caching -- just a statistics update after a successful call
+ # No caching -- just a statistics update
nonlocal misses
- result = user_function(*args, **kwds)
misses += 1
+ result = user_function(*args, **kwds)
return result
elif maxsize is None:
if result is not sentinel:
hits += 1
return result
+ misses += 1
result = user_function(*args, **kwds)
cache[key] = result
- misses += 1
return result
else:
static PyObject *
uncached_lru_cache_wrapper(lru_cache_object *self, PyObject *args, PyObject *kwds)
{
- PyObject *result = PyObject_Call(self->func, args, kwds);
+ PyObject *result;
+
+ self->misses++;
+ result = PyObject_Call(self->func, args, kwds);
if (!result)
return NULL;
- self->misses++;
return result;
}
Py_DECREF(key);
return NULL;
}
+ self->misses++;
result = PyObject_Call(self->func, args, kwds);
if (!result) {
Py_DECREF(key);
return NULL;
}
Py_DECREF(key);
- self->misses++;
return result;
}