September 10, 2004
@ 05:29 PM

In a post entitled Report From the Intel Community Tim Bray writes

This has nothing to do with a California chip maker. Rather, its about a trip I recently took to a conference called Intelink, where the people gather who run one of the worlds biggest and most interesting intranets; the one that serves the community of U.S. Intelligence professionals
I was amused to note that on one of the sub-intranets distinguished by being loaded with particularly ultra-secret stuff, they were offering RSS Bandit for the people to download and use.

That's an awesome endorsement. I'm always surprised by the people I find using RSS Bandit whether it is a bunch of U.S. intelligence professionals or high school girls from Singapore. There's a lot that still needs to be done to make consuming information from syndication feeds a truly optimal experience but RSS Bandit gets closer to what I see as the ideal each day. The big focus for the next release will be making it easier to organize, locate and manage information within the aggregator.

Speaking of positive endorsements, here's one on the memory usage characteristics of RSS Bandit from Wesner Moise in his post NET vs Native Performance

The working set for SharpReader is 30Mb, FeedDemon is 23 Mb, and RSS Bandit is 4 Mb in their initial configuration on my machine. (In comparison, the working set for MS Word and MS Excel are about 18 Mbs.) So, actually in their bare configuration, RSS Bandit is the tightest of them all, even considering that RSS Bandit also uses the .NET runtime. However, the working set of .NET applications have a significantly higher variance than native applications. While RSS Bandit was idle, I watch the working set figures initially progress to 13 MBs, then in an instant fall down to 6.5MB, as it appears a collection has occurred. The working set oscillated in an ever narrowing range (down to a range between <3Mb to 6Mb) that apparently reflected dynamic tuning by CLR. Native applications, in contrast, normally have zero variance in working set during idle.

The contrast between SharpReader and FeedDemon is more a reflection of the difference between a free application written as a hobby and a professionally written commercial application, and less as a indicator of Delphi's inherent performance advantage over C#. Performance issues with NewsGator, an Outlook-based reader, which I believed is managed, are likely due to the very high overhead and poor performance of OLE automation in general.

The biggest performance issues with RSS Bandit are memory usage and slowdown when performing IO intensive operations like loading feed files from disk on startup or downloading lots of feeds for the first time. There are many approaches we've considered for resolving the memory issues. The first thing we will do is the easiest, making it possible for people to delete posts from feeds they are subscribed to. This would lead to less news items being held in memory when the application is running this reducing memory consumption.

I've also considered creating a 'memory lite' mode where some memory intensive features are disabled to reduce the memory usage of the application but the few people I've talked this over with have mentioned that memory usage has not been enough of a problem to forego features.