'Analyze set.issubset() proposal' from collections import Counter from random import shuffle def baseline_issubset(self, iterable): other = set(iterable) return all(x in other for x in self) def proposed_issubset(self, iterable): overlap = self.intersection(iterable) return len(overlap) == len(self) events = Counter() class Int(int): def __eq__(self, other): events['eq'] += 1 return super().__eq__(other) def __hash__(self): events['hash'] += 1 return hash(str(self)) s = range(10) print(f'{s=}\n') s = set(map(Int, s)) for t in (range(2,8), range(10), range(40), range(5,45), range(-35,5)): print(f'{t=}') t = list(map(Int, list(t)*2)) shuffle(t) expected = s.issubset(t) for func in (baseline_issubset, proposed_issubset): events.clear() actual = func(s, t) assert actual == expected print(func.__name__, dict(events)) print()