ptmalloc2

Jonathan Dama jd at caltech.edu
Fri Feb 18 18:19:40 PST 2005


> phkmalloc is slow when allocating large space, I ever tried to allocate
> 512M in a single malloc() call on AMD64, and it cames up to several
> seconds to complete the request.

And a quick run using truss will show you why.  phkmalloc
makes enough calls to brk to fullfil that single allocation 
to topple you out of your seat.

Using some statistically unsound methods, I estimate
phkmalloc to be an order of magnitude slower than mmaping
/dev/zero--for large allocations as measured against the TSC.

I am currently reverting one of our machines to an
unmodified version of FreeBSD 4.10, and I have, what I believe 
to be, a fairly sound benchmark setup.  Expect to get a
hopefully very revealing plot comparing userland allocation
methods in the next day or so.

Regarding' matt's suggestion of porting the slab allocator:
http://www.usenix.org/event/usenix01/bonwick.html
discusses a similar attempt.  Page 16 has a nice performance 
comparison graph.

-Jon





More information about the Kernel mailing list