tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Concurrency and malloc()
On Mon, Jan 18, 2010 at 04:00:28PM +0000, Sad Clouds wrote:
> What is the default malloc() on NetBSD, is it jemalloc?
Yes.
> Also, assume a situation where multiple threads in a process are allocating
> memory chunks of the same size. Which method do you think would offer better
> performance:
>
> 1. Use a general allocator like jemalloc, which has been designed with
> concurrency in mind. Simply call malloc() to allocate memory as needed.
>
> 2. Pre-allocate a segment of memory and divide it into equal chunks. This
> might allow for faster memory allocation than jemalloc, since we know all
> chunks are the same size and we can tune the algorithm to execute the least
> number of instructions.
It depends. Memory overhead, whether the thread set changes a lot etc.
There is no single correct answer...
Joerg
Home |
Main Index |
Thread Index |
Old Index