Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

I agree. When working with large XML files, memory can become a concern.

Right off, I must admit that XML::Pastor is not as savy as XML::Twig in this area. As you know, XML::Twig is capable of lazy/selective population of its structures, whereas XML::Pastor will first parse the entire XML into an XML::LibXML DOM tree and then convert the data into Perl native data objects (with hashes, arrays, scalars). On the other hand, the DOM is immediately thrown away so there is no double jeapordy.

In terms of memory usage, XML::Pastor probably compares very much to XML::Simple, because the tree structures are similar except that in the case of XML::Pastor, the references are blessed objects.

Compared to XML::LibXML DOM tree, XML::Pastor probably weighs less in memory as there is quite a bit of book-keeping in the DOM.

One caveat though => currently XML::Pastor is only good for working with DATA style XML (without mixed mark up). This basically means that an element either contains only text or only child elements, not both mixed. So, XML::Pastor is not good for working with a markup language such as XHTML, for example.


In reply to Re^3: RFC: XML::Pastor v0.52 is released - A revolutionary way to deal with XML by aulusoy
in thread RFC: XML::Pastor v0.52 is released - A revolutionary way to deal with XML by aulusoy

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (5)
As of 2024-04-23 09:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found