I have a script that does a lot of dict deletions and eventually iterates over it.
I've managed to reduce it to a simple benchmark:
> py -m timeit -s "a = {i:i for i in range(10000000)};[a.pop(i) for i in range(10000000-1)]" "next(iter(a))"
10 loops, best of 5: 30.8 msec per loop
How come iterating over a single key after I've deleted all previous values becomes slow?