すらいむがあらわれた

こまんど >  たたかう  にげる

XMLモジュールの処理速度

NDO::Weblog Perl で XML の処理はどれが速いかベンチ
http://naoya.dyndns.org/~naoya/mt/archives/001209.html
によると、
以下の4つの方法を検証した結果

1. 正規表現でぶっこ抜き
2. XML::Simple でパースして得られるデータ構造から取得
3. XML::RSS でパースして取得
4. XML::LibXML の DOM に対する XPath インタフェースで取得

こうなったそうです。↓

[naoya@judy XML-Bench]$ perl rss.pl sample.rdf
Benchmark: timing 1000 iterations of XML::LibXML, XML::RSS, XML::Simple, regexp...
XML::LibXML: 2 wallclock secs ( 1.77 usr + 0.00 sys = 1.77 CPU) @ 564.97/s (n=1000)
XML::RSS: 93 wallclock secs (91.89 usr + 0.06 sys = 91.95 CPU) @ 10.88/s (n=1000)
XML::Simple: 372 wallclock secs (358.27 usr + 0.12 sys = 358.39 CPU) @ 2.79/s (n=1000)
regexp: 0 wallclock secs ( 0.13 usr + 0.00 sys = 0.13 CPU) @ 7692.31/s (n=1000)
(warning: too few iterations for a reliable count)

XML::Simple、遅!
今、PerlでWebサービスを呼んでみようとXML::Simpleをいろいろいじっていたところだったのですが…。
XML::LibXMLも試してみたほうがいいかな。