Re: heap fragmentation & operator new

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jun 22, 2008 at 13:09, Burlen Loring <burlen.loring@xxxxxxxxxxx> wrote:
> We have some complaints from our users that if we do not use
> malloc/realloc/free inside our container class, and rather we use operator
> new/delete, that we have heap fragmentation problem that leads to their
> running out of memory. We have evidence that its true and additionally we
> see that additionally realloc gives performance advantage. Is there anything
> we can do to actively combat heap fragmentation when using new/delete?  We
> already do the simple things like double the current size of the container
> if we need to extend. Can we tell the heap to de-fragment itself somehow?
> Are there any tools for dynamically observing the state of the heap? Are we
> "shooting our selves in the foot"(in terms of running out of memory) by
> using malloc and new together in the same library? Are there any must read
> books/documents that I should have read on this topic?
>

Well, it's simple for people to use a malloc/free allocator with
containers, so I don't think that's a big problem.  The only container
where realloc could really be used is vector, but until we get new
allocator concepts, that can be mostly mitigated by reserve.

I don't think that the heap can de-fragment itself, since it doesn't
know where the pointers are.

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux