]> git.ipfire.org Git - thirdparty/babel.git/commitdiff
Improve odict performance by making key search O(1)
authorArturas Moskvinas <arturas@uber.com>
Fri, 7 Aug 2015 16:17:31 +0000 (19:17 +0300)
committerArturas Moskvinas <arturas@uber.com>
Wed, 26 Aug 2015 06:07:00 +0000 (09:07 +0300)
babel/util.py

index a65fce36e3169d772a29c0951db49ede48564530..8d88fc537a6d019a154ed770eeb147258f43bf21 100644 (file)
@@ -172,8 +172,9 @@ class odict(dict):
         self._keys.remove(key)
 
     def __setitem__(self, key, item):
+        new_key = key not in self
         dict.__setitem__(self, key, item)
-        if key not in self._keys:
+        if new_key:
             self._keys.append(key)
 
     def __iter__(self):