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