CacheKey class¶
(Shortest import: from brian2.utils.caching import CacheKey)
- class brian2.utils.caching.CacheKey[source]¶
Bases:
objectMixin class for objects that will be used as keys for caching (e.g.
Variableobjects) and have to define a certain “identity” with respect to caching. This “identity” is different from standard Python hashing and equality checking: aVariablefor 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
CacheKeyclass should re-define the_cache_irrelevant_attributesattribute to note all the attributes that should be ignored. The property_state_tuplewill 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.