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