Boost logo

Boost :

From: Dean Michael Berris (mikhailberis_at_[hidden])
Date: 2008-06-22 22:52:12

Hi Ion!

On Mon, Jun 23, 2008 at 2:13 AM, Ion Gaztañaga <igaztanaga_at_[hidden]> wrote:
> The last few months, I've taken another step forward and I've developed a
> small Boost library based on a modified DLmalloc code. I've developed some
> allocators above the modified DLmalloc and I've measured the performance
> benefits that can be obtained with optimized allocators that offer some new
> features like buffer expansion, burst allocation, etc... Test were performed
> using Interprocess containers, but instead of shared memory allocators, I've
> compared DLmalloc based heap allocators against the standard
> std::allocator<>.

The DLmalloc implementation you compared against was written in C
which you adapted to C++, correct?

I for one have been looking for a better alternative to both the
standard allocator and the Boost.Pool allocator. A DLmalloc based
implementation would be interesting to see if not as a
Boost-provided/included implementation or one day a standard allocator
alternative implementation.

> I've written a long article with my explanations and conclusions:

Wow, it is long and very well written. I do have some questions off
the top of my head:

- have you tested how your implementation performs on multiple threads?
- have you tried measuring the direct effect of random-sized,
random-timed, random-ordered allocations/deallocations?
- i notice that you were using vmware; admittedly the effect of
running Linux in a VMWare instance as a guest already causes
performance degradation, have you considered using something else that
takes advantage of processor virtualization features better (like
Virtualbox)? or better yet, have you tried running it on a native
Linux implementation?

> The library (includes the article) can be downloaded here:
> The library has no docs (the article explains all the basics) and does not
> surely meet Boost standards. The only goal of this article, the library and
> this post is to share information with other Boost container authors and
> discuss possible improvements that maybe could be applied to Boost
> containers. If those improvements are considered interesting, it would be
> great if we could write a library with allocators and develop some "existing
> practice" with boost containers before writing a future proposal to improve
> allocators.
> I plan to publish the article somewhere (supposing someone is crazy enough
> to publish it ;-) ) but first I wanted to share this with boosters to try to
> improve the article/library and know if developers are interested in
> allocator issues. Comments are welcome!

I'm looking forward to the answers to my questions and the further
improvement of this article. Thanks very much for sharing this!

Dean Michael C. Berris
Software Engineer, Friendster, Inc.

Boost list run by bdawes at, gregod at, cpdaniel at, john at