[Python-Dev] Int FutureWarnings and other 2.4 TODOs
Thomas Heller
theller at python.net
Fri Dec 5 10:37:10 EST 2003
Guido van Rossum <guido at python.org> writes:
>> 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).
Ok, then it makes sense. Thanks for the clarification.
Thomas
More information about the Python-Dev
mailing list