in reply to XML::Twig -vs- XML::XPath
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;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: XML::Twig -vs- XML::XPath
by buttroast (Scribe) on Oct 14, 2004 at 16:39 UTC |