Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: XML::Twig -vs- XML::XPath

by leriksen (Curate)
on Oct 14, 2004 at 01:34 UTC ( #399072=note: print w/ replies, xml ) Need Help??


in reply to XML::Twig -vs- XML::XPath

... would I be correct in saying both XML::Twig and XML::XPath each read the entire XML file into memory once

Looking at the doc for XML::Twig I would say not. Like the example I gave, XML::Parser is used, because it is SAX-based and therefore very kind to memory - only the parts you specify are in memory once the parse is complete.

From the doco for XML::Twig

This module provides a way to process XML documents. It is build on top of XML::Parser.

It allows minimal resource (CPU and memory) usage by building the tree only for the parts of the documents that need actual processing, ...

As for XML::XPath, it doesn't mention it explicitly, but a quick surf through the source for its internal class XML::XPath::XMLParser, shows that it too uses XML::Parser. And it declares handlers for the events of XML::Parser. But it seems to build up an internal tree (of arrayrefs, and the author states the reason for this is speed). I see lots of code like $self->{current}->appendChild($node, 1);
so perhaps it is does build an internal image first.

Why not test with a huge XML doc and watch the memory footprint via ps or top

use brain;


Comment on Re: XML::Twig -vs- XML::XPath
Download Code
Re^2: XML::Twig -vs- XML::XPath
by buttroast (Scribe) on Oct 14, 2004 at 16:39 UTC

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://399072]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (18)
As of 2015-07-06 13:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (75 votes), past polls