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 에서도 안되게 하던가 ㅅ