From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/10626 Path: main.gmane.org!not-for-mail From: Jan Vroonhof Newsgroups: gmane.emacs.gnus.general Subject: Re: Not running expiry when I exit a group Date: 07 Apr 1997 19:34:00 +0200 Sender: vroonhof@math.ethz.ch Message-ID: References: NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 (generated by tm-edit 7.106) Content-Type: text/plain; charset=US-ASCII X-Trace: main.gmane.org 1035150465 25451 80.91.224.250 (20 Oct 2002 21:47:45 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 20 Oct 2002 21:47:45 +0000 (UTC) Return-Path: Original-Received: from ifi.uio.no (0@ifi.uio.no [129.240.64.2]) by deanna.miranova.com (8.8.5/8.8.5) with SMTP id LAA14022 for ; Mon, 7 Apr 1997 11:01:02 -0700 Original-Received: from claymore.vcinet.com (claymore.vcinet.com [208.205.12.23]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Mon, 7 Apr 1997 19:39:28 +0200 Original-Received: (qmail 18398 invoked by uid 504); 7 Apr 1997 17:36:59 -0000 Original-Received: (qmail 18395 invoked from network); 7 Apr 1997 17:36:58 -0000 Original-Received: from frege-d-math-north-g-west.math.ethz.ch (HELO frege.math.ethz.ch) (root@129.132.145.3) by claymore.vcinet.com with SMTP; 7 Apr 1997 17:36:56 -0000 Original-Received: from fresnel.math.ethz.ch (vroonhof@fresnel [129.132.145.6]) by frege.math.ethz.ch (8.6.12/Main-STAT-mailer) with ESMTP id TAA23231 for ; Mon, 7 Apr 1997 19:38:24 +0200 Original-Received: (vroonhof@localhost) by fresnel.math.ethz.ch (8.6.9/D-MATH-client) id TAA03782; Mon, 7 Apr 1997 19:34:00 +0200 Original-To: ding@gnus.org In-Reply-To: Hrvoje Niksic's message of 07 Apr 1997 17:54:33 +0200 Original-Lines: 33 X-Mailer: Gnus v5.4.37/XEmacs 19.15(beta104) Xref: main.gmane.org gmane.emacs.gnus.general:10626 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:10626 Hrvoje Niksic writes: > > I think that the only reason that total-expire needs to loop that way > > is because the articles are not already marked as expirable. The loop > > is simply to determine which articles are expirable. > > Yes, but this thread started with an assertion (hopefully true) that > even in Elisp a thousand or so iterations shouldn't take too long. It depends on what is iterated, which again depends on the back end. For me (using nnfolder:xemacs-beta ) the slowness comes from the way article seeking is implemented. As I posted before it does the equivalent of (setq bufje ) (progn (setq i 3000) (save-excursion (set-buffer bufje) (while (< 0 i) (setq i (+ i -1)) (goto-char (point-min)) (search-forward "X-Gnus-Article-Number: 3451")))) 3000 * searching 1.5MB is slow... There is no optimization for the fact that the messages are consecutive. It should just check all messages one for one (maybe stopping if it found one that is too new) and intersect the result with the set of non-read messages. Jan