HaXml, memory usage and segmentation fault
Joe English
jenglish@flightlab.com
Mon, 29 Oct 2001 06:17:47 -0800
Dmitry Astapov wrote:
> JE> and the Hugs interpreter just isn't designed to work with large
> JE> inputs. Try compiling the program instead.
> well, ghc-5.02 seems to dislike something inside XmlLib.hs - it could not
> find interface defs file for modules IOExts .. I plan to look more deeply
> into it though.
I got it to compile with ghc 5.02 using
ghc --make -package lang translate.hs
The compiled version succeeds, but on a large document it uses
a *lot* of memory and starts paging pretty badly.
> JE> Try the identity transform 'main = processXmlWith keep' on your sample
> JE> document and see if that runs out of heap too. If so, there's not
> JE> much you can do short of replacing the HaXml parser.
I tried this as well, modifying your program to use an
XML parser I wrote a while ago that has better laziness
properties than the HaXML one. Alas, my parser also
suffers from a space leak under Hugs, so this only deferred
the problem. Under ghc/ghci, though, it has modest memory
requirements and runs without paging.
--Joe English
jenglish@flightlab.com