Would it be possible to use an IntMap instead of your OrdMap? Perhaps zip your users with [0..] and key off the integer?
I've supplied a profile report there. Since I load the graphs in
memory and then walk them a lot, the time seems expected. It
allocates a lot, though. The main graph type is
type Graph = M.Map User AdjList
type AdjList = M.Map Day Reps
type User = B.ByteString
type Day = Int
type Reps = M.Map User Int
and I walk it with M.foldWithKey. Folks said it's not strict enough,
hence I tried to seq the step function, but to no avail so far.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe