@lru_cache on functions with no arguments
Terry Reedy
tjreedy at udel.edu
Mon Jul 31 21:32:10 EDT 2017
More information about the Python-list mailing list
Mon Jul 31 21:32:10 EDT 2017
- Previous message (by thread): @lru_cache on functions with no arguments
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 7/31/2017 7:31 PM, tom at tomforb.es wrote: > As part of the Python 3 cleanup in Django there are a fair few uses of @functools.lru_cache on functions that take no arguments. This makes no sense to me. If the function is being called for side-effects, then it should not be cached. If the function is being called for a result, different for each call, calculated from a changing environment, then it should not be cached. (Input from disk is an example.) If the function returns a random number, or a non-constant value from an oracle (such as a person), it should not be cached. If the function returns a constant (possible calculated once), then the constant should just be bound to a name (which is a form of caching) rather than using the overkill of an lru cache. What possibility am I missing? -- Terry Jan Reedy
- Previous message (by thread): @lru_cache on functions with no arguments
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list