Commit cd06eeb2 authored by Tim Peters's avatar Tim Peters

Gave issubet() and issuperset() major speed boosts. That's it for now!

Someone else may want to tackle the mutating operations similarly.
parent b8940393
...@@ -259,8 +259,9 @@ class BaseSet(object): ...@@ -259,8 +259,9 @@ class BaseSet(object):
self._binary_sanity_check(other) self._binary_sanity_check(other)
if len(self) > len(other): # Fast check for obvious cases if len(self) > len(other): # Fast check for obvious cases
return False return False
otherdata = other._data
for elt in self: for elt in self:
if elt not in other: if elt not in otherdata:
return False return False
return True return True
...@@ -269,8 +270,9 @@ class BaseSet(object): ...@@ -269,8 +270,9 @@ class BaseSet(object):
self._binary_sanity_check(other) self._binary_sanity_check(other)
if len(self) < len(other): # Fast check for obvious cases if len(self) < len(other): # Fast check for obvious cases
return False return False
selfdata = self._data
for elt in other: for elt in other:
if elt not in self: if elt not in selfdata:
return False return False
return True return True
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment