Duncan Booth wrote:
> mk <mrk...@gmail.com> wrote:
> 
>> Hm, apparently Python didn't spot that 'spam'*10 in a's values is really 
>> the same string, right?
> 
> If you want it to spot that then give it a hint that it should be looking 
> for identical strings:
> 
>  >>> a={}
>  >>> for i in range(10000000):
> ...     a[i]=intern('spam'*10)
> 
> should reduce your memory use somewhat.
> 
Better still, hoist the constant value out of the loop:

 >>> a={}
 >>> const = 'spam'*10
 >>> for i in range(10000000):
 ...     a[i] = const


regards
 Steve
-- 
Steve Holden           +1 571 484 6266   +1 800 494 3119
PyCon is coming! Atlanta, Feb 2010  http://us.pycon.org/
Holden Web LLC                 http://www.holdenweb.com/
UPCOMING EVENTS:        http://holdenweb.eventbrite.com/

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

Reply via email to