"Georg Brandl" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
> tobiah wrote:
>> Suppose I fill an list with 100 million random integers in the range
>> of 1 - 65535.  Wouldn't I save much memory if all of the ocurrances
>> of '12345' pointed to the same integer object?  Why should more be made,
>> when they all do the same thing, and are not subject to change?
>
> Because for typical usage of integers (which doesn't include your 
> example),
> it is more expensive to check if there's already an integer with that 
> specific
> value out there than to create a new one.

I am not sure what you are saying.  Every (C) int is checked to see if it 
is in the preallocated range before making a new Python int object.  The 
reason for the low limit is the various time-space tradeoffs applied across 
the entire range of programs.

Terry Jan Reedy



-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to