Recentemente sono stato confrontando la quantità di memoria occupata da un Python set
a quello occupato da un frozenset
utilizzando Pympler:memoria occupata da set vs frozenset in Python 2.7
>>> from pympler.asizeof import asizeof
>>> x = range(100)
>>> s = set(x)
>>> f0 = frozenset(x)
>>> f1 = frozenset(s)
>>> asizeof(s)
10824
>>> asizeof(f0)
10824
>>> asizeof(f1)
6728
>>> f0==f1
True
Perché un frozenset
creata da un set
occupare una quantità di memoria diversa da quella creata da un altro iterabile? O è solo una stranezza di come Pympler approssima la quantità di memoria occupata da una variabile in Python?
Comportamento simile osservato con Python 3.4.0. – lebedov