[news.software.b] INCORE option to dbz - how to do it

jim@syteke.be (Jim Sanchez) (12/13/89)

I received and installed the new version of dbz the other day and
noticed that you can use an option called INCORE and it will keep the
index file in memory.  To use it requires that the INCORE symbol be
defined and "dbmclose be called".  Now the first is a piece of cake
but I do not want to hack up news and have the next patch blow up in
my face.  Has anyone done this yet and if so what should I do to make
it play this way?
Thanks
-- 
Jim Sanchez  {sun,hplabs}!sytek!syteke!jim OR
Hughes LAN Systems, Brussels  uunet!prlb2!sunbim!syteke!jim

gary@dgcad.SV.DG.COM (Gary Bridgewater) (12/17/89)

In article <628@syteke.be> jim@syteke.UUCP (Jim Sanchez) writes:
>I received and installed the new version of dbz the other day and
>noticed that you can use an option called INCORE and it will keep the
>index file in memory.  To use it requires that the INCORE symbol be
>defined and "dbmclose be called".  Now the first is a piece of cake
>but I do not want to hack up news and have the next patch blow up in
>my face.  Has anyone done this yet and if so what should I do to make
>it play this way?

You just want to do it in expire where there is a benefit. Everything else
just processes an article at a time. I don't have diffs but here are the
contexts of teh two places I put the dbmclose in. This has been running
for 2-3 weeks now (time flies) with nary a burp. I keep 21 days of news
and 45 days of history and a vanilla expire takes ~60 minutes on a 1 MIP
system. Before this, 17 days of news and 30 days of history took ~3 hours.
These mods are not scientific - I just looked for every place that expire
seemed to exit normally and found these two. Abnormal exits don't much
matter as I wouldn't want the output anyway.

The #ifdef's are, of course, optional...
To expire.c, patch level 17 - first mod:
--
		remember(lb, fpos);
	}
#ifdef INCORE
	dbmclose();
#endif
}

remember(article, fileoff)
--
second mod - at the end of the file
--
	}
#ifdef DBM
#ifdef INCORE
		dbmclose();
#endif
#endif
	rmlock();
	exit(i);
}
-- 
Gary Bridgewater, Data General Corporation, Sunnyvale California
gary@proa.sv.dg.com or {amdahl,aeras,amdcad}!dgcad.SV.DG.COM!gary
Shaken but not stirred.