From 1efa80770382d4995c2d6e67972d8a99021ec81f Mon Sep 17 00:00:00 2001 From: Justin Bronn Date: Sat, 11 Sep 2010 02:28:16 +0000 Subject: [PATCH] Fixed #12632 -- Improved performance of `SortedDict`. Thanks, Alex Gaynor. git-svn-id: http://code.djangoproject.com/svn/django/trunk@13742 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/utils/datastructures.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/django/utils/datastructures.py b/django/utils/datastructures.py index 4656f60f2b..30ce28d38d 100644 --- a/django/utils/datastructures.py +++ b/django/utils/datastructures.py @@ -120,9 +120,11 @@ class SortedDict(dict): self.keyOrder = data.keys() else: self.keyOrder = [] + seen = set() for key, value in data: - if key not in self.keyOrder: + if key not in seen: self.keyOrder.append(key) + seen.add(key) def __deepcopy__(self, memo): return self.__class__([(key, deepcopy(value, memo))