Re: Python memory handling



On 5/31/07, Thorsten Kampe <thorsten@xxxxxxxxxxxxxxxx> wrote:
* Chris Mellon (Thu, 31 May 2007 12:10:07 -0500)
> > Like:
> > import pool
> > pool.free()
> > pool.limit(size in megabytes)
> >
> > Why not letting the user choosing that, why not giving the user more
> > flexibility ?
> > I will try later under linux with the latest stable python
> >
> > Regards,
> > FP
> >
>
> The idea that memory allocated to a process but not being used is a
> "cost" is really a fallacy, at least on modern virtual memory sytems.
> It matters more for fully GCed languages, where the entire working set
> needs to be scanned, but the Python GC is only for breaking refcounts
> and doesn't need to scan the entire memory space.
>
> There are some corner cases where it matters, and thats why it was
> addressed for 2.5, but in general it's not something that you need to
> worry about.

If it's swapped to disk than this is a big concern. If your Python app
allocates 600 MB of RAM and does not use 550 MB after one minute and
this unused memory gets into the page file then the Operating System
has to allocate and write 550 MB onto your hard disk. Big deal.


It happens once, and only in page-sized increments. You'd have to have
unusual circumstances to even notice this "big deal", totally aside
from the unusual and rare conditions that would trigger it.
.



Relevant Pages

  • Re: Memory Allocation?
    ... For example, consider a dict. ... allocates a dict object, a hash table to hold the values, and the ... So how much memory is used by x? ... You'll have to make some assumptions about Python internals and it ...
    (comp.lang.python)
  • Re: Python memory handling
    ... Why not letting the user choosing that, why not giving the user more ... I will try later under linux with the latest stable python ... at least on modern virtual memory sytems. ... allocates 600 MB of RAM and does not use 550 MB after one minute and ...
    (comp.lang.python)
  • Re: python 2.5 and 3gb switch
    ... memory available when I try to run it along with my other programs in a 3gb ... it would be helpful if you explained how "wont run" manifests: ... does it erase your hard disk? ... I'm not aware of a 3gb Python build, but you should be able to build it ...
    (comp.lang.python)
  • Re: Framework 2.0 array redim unsatisfactory performance
    ... implementation details of Redim, Redim Preserve, and List. ... significantly higher object allocated overhead then List. ... ReDim simply allocates a new ... but I do not even attempt to test its memory ...
    (microsoft.public.dotnet.languages.vb)
  • Re: 2.6, 3.0, and truly independent intepreters
    ... just the GIL being in place, but of course it's there for a reason. ... Python faster on single core machines and more stable on multi core ... Other language designers think the same way. ... with languages that use memory pointers, have the potential to get out ...
    (comp.lang.python)