From: TAKAHASHI Masayoshi Date: 2001-11-11T18:50:23+09:00 Subject: [ruby-talk:24868] Re: ruby and webservices Hi, Sean Russell wrote: > What does this tell me? The native XMLParser really isn't faster overall > than either REXML or NQXML, and in fact is much slower in some cases. No, it's not benchmark of XMLParser, but XMLParser + XML::DOM (XML::SimpleTree). XML::DOM is written in Ruby, not in C. I tried another benchmark test. This is benchmark of streaming parsing(counting start tag number). Parsers are XMLParser, XMLScan(XMLNamespaceParser and XMLParser), NQXML::StreamingParser and REXML::StreamLister. Sample document is http://www.w3c.org/ (top page). user system total real ---------------------------------------------------------------------- Parse File object: XMLParser 0.351562 0.007812 0.359375 ( 0.353638) XMLScan::XMLParser 3.851562 0.000000 3.851562 ( 4.218903) XMLScan::XMLNSParser 4.585938 0.000000 4.585938 ( 5.020270) NQXML::StrmParser 15.007812 1.023438 16.031250 ( 17.586477) REXML::StreamListener 3.375000 0.031250 3.406250 ( 3.720948) ---------------------------------------------------------------------- Parse String object: XMLParser 0.257812 0.000000 0.257812 ( 0.252781) XMLScan::XMLParser 2.867188 0.007812 2.875000 ( 3.158169) XMLScan::XMLNSParser 3.710938 0.007812 3.718750 ( 4.079811) NQXML::StrmParser 14.750000 1.257812 16.007812 ( 18.176194) REXML::StreamListener 6.765625 0.343750 7.109375 ( 10.121267) ---------------------------------------------------------------------- The result and Sean's result tell us that: XMLParser is fast, but XML::DOM is slow. You can get benchmark script I used from: http://www.rubycolor.org/parse_bench.rb Regards, TAKAHASHI 'Maki' Masayoshi E-mail: maki@open-news.com