FYI... a few weeks ago, Rob Yates added a performance enhancement to the
Abdera code that leads to a significant boost. He discusses the
enhancement on his personal weblog @ http://robubu.com/?p=11
To give you an idea, he compared the performance of Rome and Abdera
parsing his own Atom feed and pulling out the titles and links of each
entry.
Allocated bytes/CPU instructions
ROME: 2.64 MB/223 mil.
Abdera: 286 KB/30 mil.
Abdera+turbo: 66 KB/25 mil.
There may be some additional enhancements we can tease out of the
implementation. For example, we could specify a ParserOptions flag to
ignore all extension elements during the parse; or, we could further
tune the custom Axiom builder we're using to reduce the number of
cycles. I have not yet gone through and fine-tuned everything in there
yet and I'm sure there are a bunch of little things we can tweak.
- James