"Help needed - I don't understand how Python manages memory"
Hank @ITGroup
hank.infotec at gmail.com
Sun Apr 20 08:46:37 EDT 2008
Apology for the previous offensive title~~
:)
Thanks, Rintsch, Arnaud and Daniel, for replying so soon.
I redid the experiment. What following is the record -
``starting python`` # == Windows Task Manager:
Python.exe *4,076 *K memory-usage ==
>>> st1='abcdefg'*999999 # == 10,952 K ==
>>> del st1 # == *4,104*K ==
>>> st1='abcdefg'*999999 # == 10,952 K ==
>>> del st1 # == 4,104 K ==
>>> li = ['abcde']*999999 # == 8,024 K ==
>>> del li # == *4,108* K ==
>>> from nltk import FreqDist # == 17,596 ==
>>> fd = FreqDist() # == 17,596 ==
>>> for i in range(999999):fd.inc(i) # == 53,412 ==
>>> del fd # == *28,780* ==
>>> fd2 = FreqDist() # == 28,780 ==
>>> for i in range(999999):fd2.inc(i) # == 53,412 ==
>>> del fd2 # == 28,780 K ==
>>> def foo():
... fd3 = FreqDist()
... for i in range(999999):fd3.inc(i)
>>> foo() # == *28,788* K ==
>>> def bar():
... fd4 = FreqDist()
... for i in range(999999):fd4.inc(i)
... del fd4
# == 28,788 K ==
>>> bar() # == 28,788 K ==
That is my question, after ``del``, sometimes the memory space returns
back as nothing happened, sometimes not... ...
What exactly was happening???
Best regards to all PYTHON people ~~
!!! Python Team are great !!!
More information about the Python-list
mailing list