From: Bob Aman Date: 2006-09-05T07:32:03+09:00 Subject: Re: best-performing Rss parser > Just wanted to give everyone who's curious an update on this situation. > > I ended up comparing just Feedtools and Syndication, since the others > were not as feature-complete as I would have liked. > > In our system tests, Syndication performs a lot better than Feedtools, > but I won't publicize the results here since those are specific to our > system. > > In just the parsing portion of parsing > http://www.digg.com/rss/chandrasonic/index2.xml (grabbing 40 entries, 40 > titles, 40 dates, etc etc) Syndication took 0.062467 seconds of total > time and Feedtools took 4.227067 seconds of total time. This level of > performance difference is highly reproduceable and I am using this > specific feed just to show some numbers. > > Syndication does have some downsides however. The programmer must > specifically whether a feed is RSS or Atom since Syndication has no > built-in distinguishing mechanism. Syndication also seems to have > incomplete time-stamp support. Slashdot time stamps, for example, > doesn't work for me. > > Disclaimer: I'm not an expert on Ruby, RSS feeds or benchmarking, but > just wanted to share my results. Thanks Bob for all your help along the > way. The results aren't even remotely suprising to me, but yeah, they really underscore several points: 1) REXML is a performance stinker (and by extension, FeedTools 10x more so) 2) If performance is an issue, a parse-at-all-costs parser is going to be a problem unless it's written in C or something similarly fast 3) As always, use the right tool for the job -- FeedTools isn't going to scale, so if you need scalability, don't use it 4) If you're dealing with ~500 feeds or less, you want to always get the right answers back, you don't mind the size of the library, and you want a Ruby-only solution, FeedTools is what you want In case it's not obvious, point #4 has a lot of conditions. At some point in the distant future, I intend to write a pure C library that -will- scale, but that's a long way off, because for the forseeable future I'm going to be working on GentleCMS. Cheers, Bob Aman -- AIM: sporkmonger Jabber: sporkmonger@jabber.org