Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!lll-winken!decwrl!adobe!heaven!glenn From: glenn@heaven.woodside.ca.us (Glenn Reid) Newsgroups: comp.sys.next Subject: Re: newsreader w/posting ability WANTED Keywords: NEWS, NEWSREADER, HELP, ADVICE, SEND-ME Message-ID: <383@heaven.woodside.ca.us> Date: 2 Jan 91 05:01:21 GMT References: <2355@casbah.acns.nwu.edu> <13525@milton.u.washington.edu> Reply-To: glenn@heaven.woodside.ca.us (Glenn Reid) Organization: RightBrain Software, Woodside, CA Lines: 45 In article amanda@visix.com (Amanda Walker) writes: >In article <13525@milton.u.washington.edu> >wjs@milton.u.washington.edu (William Jon Shipley) writes: >>News is slow because nntpd, the process supplying the news articles, is slow. >>Switching News so it would read articles directly from disk would help a lot. > >That's one really hosed nntpd, then. We run nntpd on a Sun 3/50 (our >slowest machine), and we have seen no performance problems at all. >I'd suspect the reader first... Although 'rn' is a bit of a complex beast, there are some good ideas lurking in it. One of the best is that it contains heuristics for guessing the next article it thinks you are going to read, and it retrieves it while you're reading the current article, perhaps getting several articles ahead. This eliminates a lot of the overhead of the nntpd daemon or disk latency or NFS glitches or whatever, and 'rn' always feels pretty zippy. A simplistic algorithm would be to be able to retrieve the next article in sequence in the current newsgroup after the existing one has been displayed, and perhaps caching the last several articles that have been read until the newsgroup is exited. Given that 'rn' is available in source form, you might check out its heuristics. Larry Wall is pretty good about commenting the code. On cursory examination I can't find the place where the heuristics appear, but here is a paragraph from the "HACKERSGUIDE" file that comes with the source code, indicating that the algorithm is in there somewhere: " * Lots of contortions are gone through to try to do things when people aren't waiting, or have only been waiting a very short time. Guessing the next article to be opened and opening it, searching ahead for the next article with the same subject, delaying the look up of the number of articles in a newsgroup, writing the rest of the page while the reader is examining the header, cacheing up subjects while the user is reading, checkpointing the .newsrc only while the reader is in the middle of an interesting article, are some of the strategies employed. " Cheers, Glenn -- Glenn Reid RightBrain Software glenn@heaven.woodside.ca.us PostScript/NeXT developers ..{adobe,next}!heaven!glenn 415-851-1785