[Haskell-cafe] Re: Battling time leaks

Joel Reymont joelr1 at gmail.com
Wed Dec 21 13:47:19 EST 2005


On Dec 20, 2005, at 1:38 PM, Bulat Ziganshin wrote:

> can you say what it exactly means? we are not mastered in your code.
> some common explanation like "my program takes 6 seconds to
> deserialize 50kb of data on Pentium4/3ghz" will be more understabdable

That's why I posted the code at http://wagerlabs.com/timeleak.tgz

The alerts are issued when the time of unstuffing exceeds 3 seconds.

> if your current problem is deserialization speed, i can give you my
> own library. it now runs about 500kb/sec on 1ghz processor

My issue is that I 1) have about 250 records and 2) my wire format is  
different from the Haskell representation. Everything arrives to me  
little-endian, for example.

It looks like pickling is the bottleneck so I'm converting all the  
structures to Storable :(. In the meantime, I'm looking for suggestions.

Einar offered BinSer which lets me use a single spec for the record  
format, conversions included. See http://cs.helsinki.fi/u/ekarttun/ 
haskell/test.hs. I still can't figure out how I would go from a :+: b  
to Foo a b, though.

	Thanks, Joel

--
http://wagerlabs.com/







More information about the Haskell-Cafe mailing list