Path: utzoo!utstat!news-server.csri.toronto.edu!cs.utexas.edu!samsung!xylogics!bu.edu!mirror!rayssd!galaxia!dave From: dave@galaxia.Newport.RI.US (News Administrator) Newsgroups: news.software.b Subject: Re: Cnews artnum in active file Message-ID: <995@galaxia.Newport.RI.US> Date: 20 Aug 90 02:50:56 GMT References: <1990Aug16.185023.26200@squirrel.mh.nl> <1990Aug17.034849.17801@zoo.toronto.edu> <1990Aug17.071243.16518@looking.on.ca> Organization: Dave's Very Own Personal System Lines: 39 In article <1990Aug17.071243.16518@looking.on.ca> brad@looking.on.ca (Brad Templeton) writes: >In article <1990Aug17.034849.17801@zoo.toronto.edu> henry@zoo.toronto.edu (Henry Spencer) writes: >>of some stupid reader software. (The lower number is basically an >>inadequate kludge that smarter software should never look at, but there >>is a lot of dumb software in the world, sigh...) > >Programs do need the minimum -- for creating reasonable sized bitmaps, for >example. Why do you assume that you can create a reasonable sized bitmap based on the min and max article numbers? If I have a high volume group that happens to contain a few articles with long expiration dates I can still get what would look like a huge group based on max-min but in fact it might currrently contain significantly less than that. At one point back in the days of 2.10.1 (i.e. before the min field was introduced), I was concerned about overflowing the bitmap array so I wrote a set of functions that replaced all of the bitmap related macros and used a dynamically created linked list as the data structure instead of using a statically created array. Obviously, calling a function and doing a linked list lookup is not as fast as having a macro that does a few shifts and an array lookup, but I challenge anybody to tell the difference between the two when they are reading news with vnews/rn/trn/etc. Maybe a really high performance machine doing some kind of weird news processing in a tight loop could tell the difference, but not a user who is generating a single bitmap access for each article that gets displayed on their screen. The linked list approach has the really nice advantage of being very difficult to overflow. I am still using the linked list approach in some programs I have that analyze .newsrc files and they work quite nicely. Since these programs are not actually reading news articles, just analyzing .newsrc files, they are primarily doing "bitmap" manipulations and I do not feel that they are suffering any serious performance degradation from using the linked list functions. If anybody would like a copy of my code let me know and I will send it out. -- David H. Brierley Home: dave@galaxia.Newport.RI.US Work: dhb@quahog.ssd.ray.com Be excellent to each other.