deliverable: > I dump results of a computation as a Data.Trie of [(Int,Float)]. It > contains about 5 million entries, with the lists of 35 or less pairs > each. It takes 8 minutes to load with Data.Binary and lookup a single > key. What can take so long? If I change from compressed to > uncompressed (and then decode), it's the same time... It's not IO, > CPU is loaded 100%. > > I'm now thinking of using cereal. Given I have Data.Binary in place, > what needs to be changed to work with cereal? Is it binary- > compatible? How can one construct a cereal instance for Data.Trie?
cereal and binary are almost identical, one will load from a single strict bytestring, one will load from a chunk of strict bytestrings. I'd imagine that constructing your list is the problem, not the parsing part. Do some profiling, since I'm doubtful switching to cereal will make much of a difference. -- Don _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe