goldsky / spiefeed

Feeds aggregator for MODx Revolution based on SimplePie
http://simplepie.org/
8 stars 4 forks source link

Large RSS feed cache improvements? #18

Open pixelchutes opened 8 years ago

pixelchutes commented 8 years ago

If you're dealing with a rather large RSS feed (say 3-5MB in size), you've enabled caching &enableCache=1, and are limiting to only so many records, you may find that much time is spent on CPU burning through unnecessary records until you get to the ones you actually want to display.

Example:

Say you're fetching an RSS feed of data that contains a half-century worth of records, and will only continue to grow every day. Perhaps you don't care about last year's data, or even the last 25 years. Maybe you only need to deal with the last 20 entries.

  1. Initial fetch of 5MB+ RSS feed (less than ideal network delay)
  2. .spc cache file created with contents of said 5MB+ file
  3. Repeat (cached) visits save you time by not re-downloading the file, but not from re-parsing the entire contents just to get to your desired 20 records. This CPU burn translates to long wait / delay / page load.

It would be great if (somehow) the cached contents of the RSS feed could be reduced to only the records you actually displayed to help speed up page loads for very large RSS feeds. (At least that's what I think is happening, spending a lot of time in SimplePieModx::getPlaceholders from a large, cached feed file)

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/36660957-large-rss-feed-cache-improvements?utm_campaign=plugin&utm_content=tracker%2F5873226&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F5873226&utm_medium=issues&utm_source=github).