On Mon, 2 Apr 2012, Martin Stjernholm, Roxen IS @ Pike developers forum wrote:
I take it you already got it working as a replacement for the old
BLOCK_ALLOC, including that quirky heap walker that the old one
sports? Do you have any test where they are compared?
The heapwalkers basically work the same way. The order the pages are
walked is different. Otherwise, they both use magic values to
distinguish free from used blocks. For that there is a new macro called
WALK_NONFREEB_BLOCKS for both the old and the new allocator.
/.../ Currently, GJAlloc is requested as a bundle by the CritBit
module, which uses its API directly.
Does it add any features?
Not really. The reason we started this initially was because the current
block allocator was actually slower than malloc for critbit trees in our
random tests.
All other modules use macro definitions which are compatible with the
ones from block_allocator.h.
You mean the old block_alloc.h?
yes, right.