DData

Simon Marlow simonmar at microsoft.com
Mon May 17 14:39:38 EDT 2004


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?

Cheers,
	Simon


More information about the Libraries mailing list