patch applied (ghc): Rework the block allocator
Simon Marlow
simonmarhaskell at gmail.com
Thu Dec 14 07:06:30 EST 2006
Simon Marlow wrote:
> Thu Dec 14 03:09:01 PST 2006 Simon Marlow <simonmar at microsoft.com>
> * Rework the block allocator
>
> The main goal here is to reduce fragmentation, which turns out to be
> the case of #743. While I was here I found some opportunities to
> improve performance too. The code is rather more complex, but it also
> contains a long comment describing the strategy, so please take a look
> at that for the details.
>
> M ./includes/Block.h +44
> M ./rts/sm/BlockAlloc.c -202 +479
> M ./rts/sm/Storage.c -8 +1
I made some measurements with a simple random load generator for the block
allocator. The the new block allocator always outperforms the old usually by a
factor of 2x or more :-) Performance for large heaps should be improved, and
our memory requirements should be tighter where fragmentation was occurring.
Cheers,
Simon
More information about the Cvs-ghc
mailing list