On Wed, 06 Mar 2013 10:11:12 +0000, Wong Wah Meng-R32813 wrote:

> Hello there,
> 
> I am using python 2.7.1 built on HP-11.23 a Itanium 64 bit box.
> 
> I discovered following behavior whereby the python process doesn't seem
> to release memory utilized even after a variable is set to None, and
> "deleted". I use glance tool to monitor the memory utilized by this
> process. Obviously after the for loop is executed, the memory used by
> this process has hiked to a few MB. However, after "del" is executed to
> both I and str variables, the memory of that process still stays at
> where it was.
> 
> Any idea why?

Python does not guarantee to return memory to the operating system. 
Whether it does or not depends on the OS, but as a general rule, you 
should expect that it will not.


>>>> for i in range(100000L):
> ...     str=str+"%s"%(i,)


You should never build large strings in that way. It risks being 
horribly, horribly slow on some combinations of OS, Python implementation 
and version.

Instead, you should do this:

items = ["%s" % i for i in range(100000)]
s = ''.join(items)


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

Reply via email to