2007년 6월 9일 토요일

MagpieRSS vs LastRSS : comparison of PHP RSS parsers

In: RSS, Review, PHP, Code, My Life
On: 2004 / 11 / 10 Viewed: 26275 times

Some time ago I came across LastRSS, a PHP RSS parser which caught my attention because it looked a lot lighter (just one tiny file) than MagpieRSS, the big gun of its category. So I decided to give LastRSS a try and went for some quick tests and benchmarks.
Is LastRSS powerful ? fast ? easy to use ? And compared to MagpieRSS, is it more powerful ? faster ? easier ?

Testing

I wanted to test how fast MagpieRSS and LastRSS can :
- include the requested php code into a page (the require_once part)
- fetch a remote feed
- parse and output data
- save a cached feed
- fetch a cached feed

To do so, here is how I proceeded :
- I locally mirrored an example of a typical RSS feed (Slashdot’s feed), to avoid my internet connexion latency
- I wrote this quick script : starts timer, begin loop, fetches the feed, caches if applicable, loop if applicable, stops timers, displays result.
- I went on testing using cache and not using it, fetching several times the same feed.

The fetching was done using the most simple and most default script configuration, with no fancy option.

Raw results

Here are the raw results : number of seconds it took to each PHP parser to parse a given number of time a feed, using their own cache feature or not.

MagpieRSS vs LastRSS

Line 1 shows the time needed to include code, fetch feed, parse data.
Line 2 shows the time needed to include code, fetch feed, parse data, fetch feed, parse data.
Line 5 shows the time needed to include code, fetch feed, parse data, write cached feed.
Line 6 shows the time needed to include code, fetch feed, parse data, write cached feed, fetch cached feed, parse data.

What we can see is that LastRSS is a lot faster than MagpieRSS to include code and to fetch a remote feed. They are about equally fast to fetch, write and parse a cached feed.

Differences between the 2 parsers

Let’s not conclude too fast : LastRSS is much faster, but it does a lot less. Parsing a small fake feed (a la Slashdot RSS, containing just one item), here are the print_r results of data collected by the two parsers :
- LastRSS
- MagpieRSS

As you can see, MagpieRSS parses virtually anything in the feed, even custom items, while LastRSS focuses mainly on < title >, < link > and

Conclusion

If you can afford it, there are no real reason you shouldn’t use MagpieRSS. For the average user’s needs, Magpie does a lot more than you really need, but it does all that you do need.

This said, there are situations you could consider using LastRSS as an effective alternative : for example, if you need extra fresh data (no cache), need to parse very often a loooot of feeds, have a weak server CPU wise, and need only data LastRSS collects (ie titles and links), it does look like a clever choice.

Conclusion of the conclusion

Ah. I always feel better when I write something serious on a completely futile subject :)

댓글 없음: