diff options
| author | Jens W. Klein <jk@kleinundpartner.at> | 2020-01-25 00:37:43 +0100 |
|---|---|---|
| committer | Jens W. Klein <jk@kleinundpartner.at> | 2020-01-25 00:37:43 +0100 |
| commit | 32726faad8ac4f131b55e5b6785c885f6f2eb1ef (patch) | |
| tree | 03d25c510588ee10a27b523262c7bc6edbbb3e79 | |
| parent | fbadf4a8ab389afd87dda3032a2f1066d766a6b8 (diff) | |
| download | zope-interface-hash_performance.tar.gz | |
cache on volatile attribute in case class is persisted in ZODBhash_performance
| -rw-r--r-- | src/zope/interface/interface.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/zope/interface/interface.py b/src/zope/interface/interface.py index d832602..7a852f8 100644 --- a/src/zope/interface/interface.py +++ b/src/zope/interface/interface.py @@ -539,14 +539,14 @@ class InterfaceClass(Element, InterfaceBase, Specification): def __hash__(self): try: - return self._cached_hash + return self._v_cached_hash except AttributeError: try: - self._cached_hash = hash((self.__name__, self.__module__)) + self._v_cached_hash = hash((self.__name__, self.__module__)) except AttributeError: # pragma: no cover warnings.warn('Hashing uninitialized InterfaceClass instance') return 1 - return self._cached_hash + return self._v_cached_hash def __eq__(self, other): c = self.__cmp(other) |
