New libc malloc patch

Jason Evans jasone at canonware.com
Sun Dec 11 17:51:27 PST 2005


On Dec 11, 2005, at 4:35 PM, Julian Elischer wrote:
> I may have missed it but some benchmark numbers could be good.

I haven't posted any benchmark numbers, but that is a reasonable  
request.  Here's a summary of what I've seen so far.

For single-threaded apps, phkmalloc and jemalloc exhibit very similar  
performance for all of the benchmarks I've run.  Neither is a clear  
winner over the other from what I've seen.

Kris Kennaway already posted some multi-threaded microbenchmark  
results.  My tests have yielded similar results to his.

It would be very informative to run benchmarks with real world  
multithreaded apps.  bind9 (built with threading support) would be a  
great candidate, but thus far I haven't gotten a chance to use the  
machines that Robert Watson uses for such tests.

> Is there no way to make it an option for a while?
> that would get good testing AND a fallback for people.

Unfortunately, there are some low level issues that make the two  
malloc implementations incompatible, and they both need access to  
libc internals in order to work correctly in a multi-threaded  
program.  The way I have been comparing the two implementations is  
via chroot installations.  It might be possible to make the two  
compatible (would require extra coding), but since both of them need  
to be part of libc, we would need a way of building separate libc  
libraries for the two mallocs.  This all seems uglier than it's worth  
to me.  Maybe there's another way...

Jason


More information about the freebsd-current mailing list