[Python-Dev] Int FutureWarnings and other 2.4 TODOs
Guido van Rossum
guido at python.org
Fri Dec 5 10:29:42 EST 2003
> IIUC, doing range(10000000) in a program somewhere allocates 10 million
> integers, and these are *never* freed, they live in the cache forever.
> Correct?
Wrong. The memory allocated can never be used for other objects than
ints, but it will be reused for other ints. IOW if you do
for i in range(100):
range(i*1000000, (i+1)*1000000)
you only allocate space for 1000000 ints, not for 100 times 1000000
ints. (The range(100) OTOH are all in a cache that make the objects
indestructible, but this only applies to values in [-5, 100).
--Guido van Rossum (home page: http://www.python.org/~guido/)
More information about the Python-Dev
mailing list