Re: g_malloc overhead
- From: Liam R E Quin <liam holoweb net>
- To: BJörn Lindqvist <bjourne gmail com>
- Cc: gtk-devel-list gnome org, muppet <scott asofyet org>, gtk-app-devel-list gnome org
- Subject: Re: g_malloc overhead
- Date: Wed, 21 Jan 2009 18:43:25 -0500
On Wed, 2009-01-21 at 10:21 +0100, BJörn Lindqvist wrote:
> 2009/1/21 Liam R E Quin <liam holoweb net>:
> > On Mon, 2009-01-19 at 18:43 +0100, BJörn Lindqvist wrote:
> >> Actually, a custom allocator could be useful even in the general case.
> >> Malloc is a system call and has quite bad performance on certain
> >> platforms (windows in particular i think). Something like the gslice
> >> allocator could
> >> Probably improve performance a bit.
> > malloc is a library call.
> On Linux, it is implemented using mmap() and brk() which are system
brk(2) is called to grow the heap, but not on every malloc() call;
mmap(2) is used only for large objects, and then not always.
If you malloc() a few megabytes and then call free, a program
that allocates a lot of small objects may well go faster on some
systems, and slower on others.
Yes, g_slice was tested, but the program _calling_ g_slice is in
the domain of the user, and errors in calling g_slice or malloc()
can be hard to debug.
No more from me on this.
Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
Pictures from old books: http://fromoldbooks.org/
Ankh: irc.sorcery.net irc.gnome.org www.advogato.org
] [Thread Prev