Doesn't Data.Map.size run in O(1) time? Maybe something like using
different encodings for big maps in the default implementation would
help?

ugh, of course.  Ok, so I fixed it to:

loadState db = do
    d <- decode <$> B.readFile stateFile
    let force = sum $ map (sum . map fromEnum . M.keys) $ M.elems d
    print force
    force `seq` atomically $ writeTVar db d

(my keys are dates, which are Enum).  This should look at
every key in every inner map.  Shouldn't that be sufficient to
force the entire data set (or do I have to touch the fields in the
data elements too?).  I still get the same error condition.

Felipe.

Tim Newsham
http://www.thenewsh.com/~newsham/
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to