[Haskell-cafe] Need some advice around lazy IO

C K Kashyap ckkashyap at gmail.com
Sat Mar 23 06:41:49 CET 2013


Oops...I sent out the earlier message accidentally.

I got some profiling done and got this pdf generated. I see unhealthy
growths in my XML parser.
https://github.com/ckkashyap/haskell-perf-repro/blob/master/RSXP.hs
I must be not using parsec efficiently.

Regards,
Kashyap




On Sat, Mar 23, 2013 at 11:07 AM, C K Kashyap <ckkashyap at gmail.com> wrote:

> I got some profiling done and got this pdf generated. I see unhealthy
> growths in my XML parser.
>
>
>
> On Fri, Mar 22, 2013 at 8:12 PM, C K Kashyap <ckkashyap at gmail.com> wrote:
>
>> Hi folks,
>>
>> I've run into more issues with my report generation tool .... I'd really
>> appreciate some help.
>>
>> I've created a repro project on github to demonstrate the problem.
>> git://github.com/ckkashyap/haskell-perf-repro.git
>>
>> There is a template xml file that needs to be replicated several times
>> (3000 or so) under the data directory and then "driver" needs to be run.
>> The memory used by driver keeps growing until it runs out of memory.
>>
>> Also, I'd appreciate some tips on how to go about debugging this
>> situation. I am on the windows platform.
>>
>>
>> Regards,
>> Kashyap
>>
>>
>> On Tue, Mar 19, 2013 at 1:11 PM, Kim-Ee Yeoh <ky3 at atamo.com> wrote:
>>
>>> On Tue, Mar 19, 2013 at 2:01 PM, Konstantin Litvinenko
>>> <to.darkangel at gmail.com> wrote:
>>> > Yes. You (and Dan) are totally right. 'Let' just bind expression, not
>>> > evaluating it. Dan's evaluate trick force rnf to run before hClose. As
>>> I
>>> > said - it's tricky part especially for newbie like me :)
>>>
>>> To place this in perspective, one only needs to descend one or two
>>> more layers before the semantics starts confusing even experts.
>>>
>>> Whereas the difference between seq and evaluate shouldn't be too hard
>>> to grasp, that between evaluate and (return $!) is considerably more
>>> subtle, as Edward Yang notified us 10 days ago. See the thread titled
>>> To seq or not to seq.
>>>
>>> -- Kim-Ee
>>>
>>> _______________________________________________
>>> Haskell-Cafe mailing list
>>> Haskell-Cafe at haskell.org
>>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130323/1dacc6f4/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: driver.pdf
Type: application/pdf
Size: 7694 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130323/1dacc6f4/attachment.pdf>


More information about the Haskell-Cafe mailing list