2012年4月2日月曜日

Androidの標準XMLパーサーどれが最速?

Androidの標準XMLパーサー、つまりDOM、SAX、PULLの3つのうち、どれが一番速いのだろうか?

こんな記事があった。

Android XML Parser Performance - Developer.com

・・・the Pull parser method was not the fastest parsing method・・・The first surprise I had was at how slow all three methods were・・・I would recommend using the SAX parser, especially where the file sizes are relatively small.・・・

彼の結論は、「ファイルサイズが小さい場合にはSAX」ということらしい。

PULLが最速とは限らないわけだね。ただ、SAXとPULLの速度差は驚くほどではない。もちろんDOMはやっぱり最悪だ。

しかし、ファイルサイズが大きい場合はPULLパーサーにある途中で中断する機能によって、総合的にPULLの方が速いケースもあるだろう。

さらにPULLの方がコーディングしやすいという面も考えると、やっぱり総合的にはPULLを選ぶべきなんだろうなぁ。

しかし彼も指摘しているように、Androidの標準XMLパーサーはSAXも含めて全体的に遅いと思う。

もっと速くパースする方法は無いのか?