import random
import time
from typing import Callable, Set
set_a: Set[int] = set([i for i in range(1000000)])
set_b: Set[int] = set()
def with_bench(v: Callable[[], None]) -> float:
start = time.time()
v()
end = time.time()
return end - start
def bench_add():
set_b = set([random.randrange(1000000) for i in range(1000000)])
def bench_subset():
diff = set_a - set_b
print(f"diff size: {len(diff)}")
print(f"adding 1M entries to set: {int(with_bench(bench_add) * 1000)} ms")
print(f"calculating subset: {int(with_bench(bench_subset) * 1000)} ms")
안될꺼면 bench_subset 에서도 안되게 하던가 ㅅ
def bench_add(): for _ in range(1000000): set_b.add(random.randrange(1000000)) 로 해결함