[Haskell-cafe] Re: Hashtable woes

Chris Kuklewicz haskell at list.mightyreason.com
Fri Feb 10 04:11:28 EST 2006

Ketil Malde wrote:
> Chris Kuklewicz <haskell at list.mightyreason.com> writes:
>> Is Jan-Willem Maessen's Hash available anywhere?  I could benchmark it.
> Did you ever get around to run the benchmark?  I browsed around a bit,
> and found that the knucleotide is probably the worst GHC benchmark in
> the shootout (even TCL beats GHC by a factor of two!) - which is
> disheartening, because I rely a lot on associative data structures
> (usually Data.Map) in my programs.
> Or have Adrian Hey's AVL-trees been tried?
> -k

No, I did not try it.  This message from Simon Marlow

> Jan-Willem's HashTable attached.  It uses unsafeThaw/unsafeFreeze tricks
> to avoid the GC overheads, for this you need an up to date GHC due to a
> bug in the garbage collector: grab a STABLE snapshot (6.4.1 won't work).
> Or remove the unsafeThaw/unsafeFreeze to use it with 6.4.1, and be
> prepared to bump the heap size.
> In GHC 6.6 the unsafeThaw/unsafeFreeze tricks aren't required, because
> the GC is essentially doing it for you - we put a write barrier in the
> IOArray implementation.

indicates that it triggers a bug in 6.4.1, which is what the shootout is using.
And I suspected bumping the heap size just won't cut it for the amount of data
we are processing.

But I did not test that suspicion.

We never pounded on Data.Map, but I suspect it cannot be as bad as Data.Hashtable.


More information about the Haskell-Cafe mailing list