Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re: Fastest XML Parser ?

by almut (Canon)
on Feb 16, 2008 at 21:08 UTC ( #668352=note: print w/replies, xml ) Need Help??

in reply to Fastest XML Parser ?

XML::Bare seems to be pretty fast. I've used it for interfacing with an XML based API to an Oracle DB, and I must say I was very pleased with its performance (and ease of installation — no external library dependencies).  It's not perfect in every respect, but if your XML is simple and predictable, it might be worth giving it a try...

(BTW, there's some benchmark results against other modules at the end of the module's POD.)

Replies are listed 'Best First'.
Re^2: Fastest XML Parser ?
by renodino (Curate) on Feb 17, 2008 at 20:10 UTC
    Wow, very fast; thnx for the pointer.

    BUT....the output is very densebloated. Every leaf node is a full hash, and it tries to preserve comments and attributes. Which is great if the output is going to be turned back into XML...but I just want the values/attributes keyed by their names, so I can create a reasonably compressed piece of JSON to send to the browser.

    I'm taking a stab at patching it w/ a "compact" option to achieve that and see how it behaves.

    Hacked it up to support both a compact mode, and a to_json() method;
    XML::Simple + XML::LibXML + JSON::XS : ~0.6 sec
    XML::Bare w/ hacks: 0.04 sec (yes, 40 millisecs)

    I think I've found my favorite XML parser 8^))

    Perl Contrarian & SQL fanboy

      I'm interested in doing to same thing (convert XML to JSON quickly) and your solution looks very interesting.

      Would you mind posting it somewhere for the whole world to enjoy? :-)


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://668352]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (4)
As of 2018-06-24 19:39 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (126 votes). Check out past polls.