🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: news.software.notes
Article #99

Re: Evolutionary dead end?

#99
From: Jim Ziobro
Date: Sat, 02 Jan 1988 11:45
80 lines
4191 bytes
I disagree that the notesfile file format is a dead-end.  For a
discussion format dialog it has some real technical advantages over the
B-news format method of storing articles.  On the other hand it is
slightly inferior when handling bulletin board type dialog.

Consider that for a discussion the most machine intensive tasks are the
article sorting to topics.  Ideally this is done once when the article
is posted and not each time a group is read like 'rn'.

In the notesfile format an article is not expired until there have not
been responses for a while.  In the B-news format after a certain
period the article is deleted whether it is important or not.  The
B-news expire could be fixed to operate in this desirable fashion but
at a significant cost in machine use.  If everyone had notesfiles there
would be no problem of including massive amounts of text when replying
to an article since it would be much more likely that the original text
would be at the reader's fingertips.

Considering that an open is much more expensive than a read the
notesfile format is much better suited for reading agents.  The posting
operation excluding article sorting is about as expensive in both the
notesfile and B-news file formats.  One of the ugly operations
necessary in any news system is the expire operation.  The B-news
format ideally would have the big advantage but let us look a bit
closer...

1.) To expire B-news articles a history file (and associated dbm file) is read
and written but to determine the expiration date each article must be opened
and read.  Thus:
bytes read = #articles x (small) + entire header text
bytes written = #articlse x (small)
file opens = #articles + 8
file deletes = #expired articles + 3

To expire notes the index files are opened in each notesfile then the text
file is copied selectively.  Thus:
bytes read = entire text database
bytes written = entire text database
file opens = #newsgroups x 6
file deletes = #newsgroups x 3

Thus B-news expire is proportional to the number of articles while the
notesfile expire is proportional to the number of newsgroups plus some
factor for the size of the text data.  In practice the reading/writing
overhead is not great since it tends to happen in large chunks.  On an
11/780 with massbus type disks the notes expire operation happened
considerably quicker than the B-news expire operation.

2.) If B-news expire happens to run just as you are replying to an
article and you are unlucky enough to be accessing an article on expire's
hit list then TOO BAD its gone!  The notesfile's expire first moves
the database to a temporary file thus once a user has opened the database
they have access until they are done.

In summary:

	Notes has a relatively high cost of article insertion but that
	is because it is also usefully sorting the article.

	Reading agents can operate very efficiently using the notesfile
	format considering that open calls are generally expensive.

	In the current implementation (under Unix) the expire operation
	for notesfile is much quicker than the B-news format.

	The high article insertion cost means notesfile is most useful
	where there is some correlation between the articles.  Bulletin
	board type data where any particular article likely goes to
	many groups is poorly suited to notes.


The NYU version of the notes system is well tuned and debugged for
4BSD+ Vaxen.  If you are not running the NYU notesfile and you have a
BSD derived system then you should be.  The NYU version is
characterized by the presence of the "universal sequencer key" (l) and
occurrences of the name "salkind" in the source.  It is ARPA accessible
from NYU.EDU.

//Z\\
Jim Ziobro
Technical Details
Message-ID: <484@rocksanne.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!cmcl2!brl-adm!umd5!rutgers!rochester!rocksanne!z
References: <107300003@datacube> <276@fig.bbn.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!cmcl2!brl-adm!umd5!rutgers!rochester!rocksanne!z
From: z@rocksanne.UUCP (Jim Ziobro)
Newsgroups: news.software.notes
Subject: Re: Evolutionary dead end?
Message-ID: <484@rocksanne.UUCP>
Date: 2 Jan 88 11:45:44 GMT
References: <107300003@datacube> <276@fig.bbn.com>
Organization: Xerox: Webster Research Center, Rochester, NY
Lines: 80
Summary: Notes has technical advantages over news