From 6822b7fa7d12be1db8433a157345045dadebe5eb Mon Sep 17 00:00:00 2001 From: Arturas Moskvinas Date: Fri, 7 Aug 2015 19:17:31 +0300 Subject: [PATCH] Improve odict performance by making key search O(1) --- babel/util.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/babel/util.py b/babel/util.py index a65fce36..8d88fc53 100644 --- a/babel/util.py +++ b/babel/util.py @@ -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): -- 2.47.3