Sped intersection by large factors (3-5x faster than before on sets of
cardinality 500; and the smaller the intersection, the bigger the speedup).
diff --git a/Lib/sets.py b/Lib/sets.py
index 8808701..e88e845 100644
--- a/Lib/sets.py
+++ b/Lib/sets.py
@@ -176,13 +176,8 @@
little, big = self, other
else:
little, big = other, self
- result = self.__class__()
- data = result._data
- value = True
- for elt in little:
- if elt in big:
- data[elt] = value
- return result
+ common = filter(big._data.has_key, little._data.iterkeys())
+ return self.__class__(common)
def intersection(self, other):
"""Return the intersection of two sets as a new set.