[Checkins] SVN: zope.interface/branches/jinty-mem/src/zope/interface/interface.py Improve CPU performance of previous memory optimization
Brian Sutherland
jinty at web.de
Tue Nov 9 08:22:28 EST 2010
Log message for revision 118295:
Improve CPU performance of previous memory optimization
Changed:
U zope.interface/branches/jinty-mem/src/zope/interface/interface.py
-=-
Modified: zope.interface/branches/jinty-mem/src/zope/interface/interface.py
===================================================================
--- zope.interface/branches/jinty-mem/src/zope/interface/interface.py 2010-11-09 08:31:37 UTC (rev 118294)
+++ zope.interface/branches/jinty-mem/src/zope/interface/interface.py 2010-11-09 13:22:27 UTC (rev 118295)
@@ -51,6 +51,7 @@
# infrastructure in place.
#
#implements(IElement)
+ __tagged_values = None
def __init__(self, __name__, __doc__=''):
"""Create an 'attribute' description
@@ -72,22 +73,27 @@
def getTaggedValue(self, tag):
""" Returns the value associated with 'tag'. """
- return getattr(self, '_Element__tagged_values', {})[tag]
+ if self.__tagged_values is None:
+ return default
+ return self.__tagged_values[tag]
def queryTaggedValue(self, tag, default=None):
""" Returns the value associated with 'tag'. """
- return getattr(self, '_Element__tagged_values', {}).get(tag, default)
+ if self.__tagged_values is None:
+ return default
+ return self.__tagged_values.get(tag, default)
def getTaggedValueTags(self):
""" Returns a list of all tags. """
- return getattr(self, '_Element__tagged_values', {}).keys()
+ if self.__tagged_values is None:
+ return default
+ return self.__tagged_values.keys()
def setTaggedValue(self, tag, value):
""" Associates 'value' with 'key'. """
- tv = getattr(self, '_Element__tagged_values', None)
- if tv is None:
- tv = self.__tagged_values = {}
- tv[tag] = value
+ if self.__tagged_values is None:
+ self.__tagged_values = {}
+ self.__tagged_values[tag] = value
class SpecificationBasePy(object):
More information about the checkins
mailing list