CacheKey class
(Shortest import: from brian2.utils.caching import CacheKey)
- class brian2.utils.caching.CacheKey[source]
Bases:
object
Mixin class for objects that will be used as keys for caching (e.g.
Variable
objects) and have to define a certain “identity” with respect to caching. This “identity” is different from standard Python hashing and equality checking: aVariable
for example would be considered “identical” for caching purposes regardless which object (e.g.NeuronGroup
) it belongs to (because this does not matter for parsing, creating abstract code, etc.) but this of course matters for the values it refers to and therefore for comparison of equality to other variables.Classes that mix in the
CacheKey
class should re-define the_cache_irrelevant_attributes
attribute to note all the attributes that should be ignored. The property_state_tuple
will refer to a tuple of all attributes that were not excluded in such a way; this tuple will be used as the key for caching purposes.Attributes
Set of attributes that should not be considered for caching of state update code, etc.
Details
- _cache_irrelevant_attributes
Set of attributes that should not be considered for caching of state update code, etc.