DData
Simon Marlow
simonmar at microsoft.com
Mon May 17 15:37:46 EDT 2004
On 17 May 2004 14:33, Christian Maeder wrote:
> Simon Marlow 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
>>>
>> Could you try changing the definition of Map from
>> to
>>
>> data Map k a = Tip
>> | Bin {-# UNPACK #-} !Size !k a !(Map k a) !(Map k a)
>>
>> and see if that helps?
>
> Yes, that helps. For some reason the user time decreased today, but
> the page faults for the unchanged code kept the same:
>
> FiniteMap-only: 7.94 30613
> DData.Map-only: 7.88 29700
> DData.Map+IntMap: 5.72 20178
> FiniteMap+IntMap: 5.54 19973
I'm not sure what page faults is measuring, but the fact that you get
significantly different results today is disturbing!
You can play the {-# UNPACK #-} trick in the IntMap code too, BTW.
Cheers,
Simon
More information about the Libraries
mailing list