This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Heap allocation on Linux


Hi,

Hoard (www.hoard.org) is a GPLed memory allocator that uses mmap, not
sbrk. It's also a lot faster than the Linux allocator (even on
single-threaded codes) and more scalable.

-- emery
 

> -----Original Message-----
> From: Jean-Eric [mailto:jec@rptec.ch]
> Sent: Monday, December 06, 2004 2:09 PM
> To: libstdc++@gcc.gnu.org
> Subject: Heap allocation on Linux
> 
> Hi,
> We have a big soft written in C++, so we have a lot of new/delete
> On Windows, we use the Heap function from, Win32 API, and that s
working
> fine.
> Does someone knows of something similar on Linux?
> The problem is:
> - Allocating block A (brk() is called to extend virtual address space)
> - Allocating block B (brk() is called to extend virtual address space)
> - Allocating block C (brk() is called to extend virtual address space)
> - Allocating block D (brk() is called to extend virtual address space)
> - Mem used is X
> - Releasing block A
> - Releasing block B
> - Releasing block C
> - Shrink addr space (No shrink since block D is still needed)
> - Mem used is still X
> 
> That s a problem for our soft. What would be good is a mmap() based
> allocator:
> - Allocate an mmap chunk
> - Allocate from it
> - munmap it when all blocks are freed
> 
> Thanks for infos.
> -jec
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]