Thus spake Poul-Henning Kamp <[EMAIL PROTECTED]>:
> In message <[EMAIL PROTECTED]>, David Schultz writes:
> 
> >You can find a somewhat more thorough comparison of malloc
> >implementations at http://citeseer.nj.nec.com/440671.html .
> 
> There are many problems with this paper, and my feeling is that it was
> written with a very specific purpose in mind, although I havn't been
> able to figure out just what that purpose was.

I did say `somewhat', didn't I?  ;-)  As I mentioned in the part of
my message that you didn't quote, I don't much care for the paper
either, but it's the only half-reasonable comparison I know of.
I don't think the authors know what they're talking about, but they
did collect extensive data for some real world programs, which I
assume is valid.

I agree that the behavior of the program from the point of view of
the VM system is the most important metric.  But internal and
external fragmentation are also significant issues.  Often, these
are a result of programmers not understanding how their malloc
works.  For example, programs that make numerous 2K allocations in
phkmalloc will get twice the amount of memory they asked for, and
since each chunk is page-aligned, it will be twice as bad for the
VM system.

A harder problem to solve is fragmentation for long-running
servers, where the RSS tends to creep upwards over time as virtual
memory fills with holes.  There seems to be a fair amount of
research on the subject, although I'm not well read on it.  The
phkmalloc bucket approach seems to work quite well, as the
aforementioned paper claims.  I'm guessing that one of these days
it will have to be modified for threaded applications to reduce
false sharing on SMP systems.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to