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