On Jun 17, 2:36 pm, "Claus Reinke" <claus.rei...@talk21.com> wrote:
> > I'll work with Simon to investigate the runtime, but would welcome any
> > ideas on further speeding up cafe4.
>
> Just a wild guess, but those foldWithKeys make me nervous.
>
> The result is strict, the step function tries to be strict, but if
> you look at the code for Data.IntMap.foldr, it doesn't really
> give you a handle for propagating that strictness. Unless
> the foldr definition is inlined into your code, the generic,
> non-strictly accumulating version might be called. Have
> you checked that this isn't the case?
>
> Also, shouldn't the two foldWithKeys on dm be merged?
> And, while Maps are strict in their representation, putting
> them into a non-strict field of a data structure might lose
> that.

Claus -- thank you for the suggestions!  Alas, it appears there's no
strict foldWithKey in either Map or IntMap.  Hence I had to cook one
up with foldl' and fromList.  I also merged both dm folds into one.
The resulting tag is cafe5.  It still gets killed by memory constraint
at day 28.  We're making progress here! :)

-- Alexy
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to