Reducing the cost of garbage collecting small arrays

Jan-Willem Maessen jmaessen at alum.mit.edu
Thu Jun 23 00:31:50 CEST 2011


On Wed, Jun 22, 2011 at 12:33 PM, Johan Tibell <johan.tibell at gmail.com> wrote:
> Hi,
>
> Now when we can efficiently copy small arrays I've gone back to
> benchmarking/optimizing my hash array mapped trie data structure. The
> data structure's performance depends on how efficiently we can
> allocate/collect/copy Array#s and MutableArrays#s of size <=32.
> Speeding up copying helped quite a bit, but the HAMT is still slower
> than a Patricia tree for inserts.

Is 5 the optimal number of bits to slice off at a time (ie the best
fanout)?  It sounds like node copy cost on insert argues for a
slightly narrower fanout.  You'll be evacuating / scanning more words
total, but new nodes may equate to less scanning overall (especially
if this is running long enough to have some nodes get tenure).

-Jan



More information about the Glasgow-haskell-users mailing list