Thanks for the pointer Mukesh .... I'll go over the blog. Changing the xml parser to another one from hackage - xml - helped but not fully. I think I would need to change to bytestring. But for now, I split the program into smaller programs and it seems to work.
Regards, Kashyap On Sat, Mar 23, 2013 at 11:55 AM, mukesh tiwari < mukeshtiwari.ii...@gmail.com> wrote: > Hi Kashyap > I am not sure if this solution to your problem but try using Bytestring > rather than String in > > parseXML' :: String -> XMLAST > parseXML' str = > f ast where > ast = parse (spaces >> xmlParser) "" str > f (Right x) = x > > f (Left x) = CouldNotParse > > > Also see this post[1] My Space is Leaking.. > > Regards, > Mukesh Tiwari > > [1] http://www.mega-nerd.com/erikd/Blog/ > > > On Sat, Mar 23, 2013 at 11:11 AM, C K Kashyap <ckkash...@gmail.com> wrote: > >> 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 <ckkash...@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 <ckkash...@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 <k...@atamo.com> wrote: >>>> >>>>> On Tue, Mar 19, 2013 at 2:01 PM, Konstantin Litvinenko >>>>> <to.darkan...@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@haskell.org >>>>> http://www.haskell.org/mailman/listinfo/haskell-cafe >>>>> >>>> >>>> >>> >> >> _______________________________________________ >> Haskell-Cafe mailing list >> Haskell-Cafe@haskell.org >> http://www.haskell.org/mailman/listinfo/haskell-cafe >> >> >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe