Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 11/2/84; site seismo.UUCP Path: utzoo!watmath!clyde!cbosgd!seismo!rick From: rick@seismo.UUCP (Rick Adams) Newsgroups: net.news.b Subject: Re: expire takes 73 minutes of cpu?!?!? Message-ID: <5519@seismo.UUCP> Date: Fri, 23-Nov-84 18:42:49 EST Article-I.D.: seismo.5519 Posted: Fri Nov 23 18:42:49 1984 Date-Received: Sat, 24-Nov-84 02:56:07 EST References: <1828@nsc.UUCP> Organization: Center for Seismic Studies, Arlington, VA Lines: 32 The following cheap fix will greatly speed up the case where several expires are run consecutively. It will only do any good if you are using the -n option. A much faster expire (roughly 3 times) will be part of 2.10.3 in about a month or so. ---rick *** expire.c Fri Nov 23 17:12:54 1984 --- expire.c.new Fri Nov 23 17:18:10 1984 *************** *** 515,520 if (sscanf(afline,"%s %ld %ld %c",nbuf,&maxart, &minart, &cansub) < 4) xerror("Active file corrupt"); minart = maxart > 0 ? maxart : 1L; /* Change a group name from a.b.c to a/b/c */ --- 515,525 ----- if (sscanf(afline,"%s %ld %ld %c",nbuf,&maxart, &minart, &cansub) < 4) xerror("Active file corrupt"); + if (!ngmatch(nbuf,ngpat) { + fputs(afline, nhfd); + continue; + } + minart = maxart > 0 ? maxart : 1L; /* Change a group name from a.b.c to a/b/c */