[Haskell-cafe] cereal vs. binary

Alexey Khudyakov alexey.skladnoy at gmail.com
Sat Jul 3 15:59:47 EDT 2010


On Sat, Jul 3, 2010 at 10:54 PM, Alexey Khudyakov
<alexey.skladnoy at gmail.com> wrote:
> On Sat, Jul 3, 2010 at 8:57 PM, braver <deliverable at gmail.com> wrote:
>> 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?
>>
> I suspect Float instance is problem. Try to to the same with (Int,Int) pairs.
>
To clarify things.  If there is significant improvement in performance
(times, tens
of times) than Float's instance is indeed culprit.


More information about the Haskell-Cafe mailing list