DData

Daan Leijen daanleijen at xs4all.nl
Mon May 17 15:46:21 EDT 2004


On Mon, 17 May 2004 13:39:38 +0100, Simon Marlow <simonmar at microsoft.com> wrote:

> On 14 May 2004 19:14, Christian Maeder wrote:
>
>> for a map with several hundred thousand entries:
>>                (user seconds)    (page faults)
>> FiniteMap-only:    5.61           30613
>> DData.Map-only:    6.50           36911
>> DData.Map+IntMap:  4.14           21296
>> FiniteMap+IntMap:  3.85           19973
>>
>> for optimized code only (I'll send you the sources separately)
>
> Could you try changing the definition of Map from
>
> data Map k a  = Tip
>               | Bin !Size !k a !(Map k a) !(Map k a)
>
> to
>
> data Map k a  = Tip
>               | Bin {-# UNPACK #-} !Size !k a !(Map k a) !(Map k a)
>
> and see if that helps?

I just wondered: is Data.FiniteMap strict in its elements?

-- Daan.

ps. Simon: The cvs source browse link on the GHC page seems broken,
so I couldn't look it up myself...



More information about the Libraries mailing list