Re: patch applied (ghc): Rework the block allocator

Simon Marlow <[email protected]>
Newsgroups gmane.comp.lang.haskell.cvs.all
Message-ID <45813E46.50507__31175.0913075686$1166098003$gmane$org@microsoft.com>
Simon Marlow wrote:
> Thu Dec 14 03:09:01 PST 2006  Simon Marlow <[email protected]>
>   * 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.