From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/69396 Path: news.gmane.org!not-for-mail From: Steinar Bang Newsgroups: gmane.emacs.gnus.general Subject: Re: Anyone ever used gnus-change-server? Date: Mon, 08 Feb 2010 18:40:22 +0100 Organization: Probably a good idea Message-ID: <878wb3k4mx.fsf@edwards.hjemme.lan> References: <87hbpxkncf.fsf@edwards.hjemme.lan> <87d40klohp.fsf@edwards.hjemme.lan> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1265651038 21637 80.91.229.12 (8 Feb 2010 17:43:58 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 8 Feb 2010 17:43:58 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M17798@lists.math.uh.edu Mon Feb 08 18:43:54 2010 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from util0.math.uh.edu ([129.7.128.18]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1NeXeG-0006k6-07 for ding-account@gmane.org; Mon, 08 Feb 2010 18:43:48 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by util0.math.uh.edu with smtp (Exim 4.63) (envelope-from ) id 1NeXbh-0007Dp-U2; Mon, 08 Feb 2010 11:41:09 -0600 Original-Received: from mx2.math.uh.edu ([129.7.128.33]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1NeXbf-0007DK-53 for ding@lists.math.uh.edu; Mon, 08 Feb 2010 11:41:07 -0600 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx2.math.uh.edu with esmtp (Exim 4.69) (envelope-from ) id 1NeXbZ-0008Ch-Ou for ding@lists.math.uh.edu; Mon, 08 Feb 2010 11:41:04 -0600 Original-Received: from lo.gmane.org ([80.91.229.12]) by quimby.gnus.org with esmtp (Exim 3.36 #1 (Debian)) id 1NeXbL-0000T2-00 for ; Mon, 08 Feb 2010 18:40:47 +0100 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1NeXbK-0004V4-20 for ding@gnus.org; Mon, 08 Feb 2010 18:40:46 +0100 Original-Received: from cm-84.208.213.166.getinternet.no ([84.208.213.166]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 08 Feb 2010 18:40:46 +0100 Original-Received: from sb by cm-84.208.213.166.getinternet.no with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 08 Feb 2010 18:40:46 +0100 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: ding@gnus.org Original-Lines: 42 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: cm-84.208.213.166.getinternet.no Mail-Copies-To: never User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/22.2 (gnu/linux) Cancel-Lock: sha1:xiiPDray9iI1ELjlwsZMMVgMJMw= X-Spam-Score: -2.8 (--) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:69396 Archived-At: I've done a little edebug'ing and this is what I found out: - I did edebug-defun on gnus-move-group-to-server - I ran `M-x gnus-change-server RET' - On each stop in gnus-move-group-to-server I did `c', until it eventually got stuck in moving no.alt.motorsykler with 33523 articles seen. Here are the first lines of the edebug-trace (it's too big to include all of it): { gnus-move-group-to-server args: ((dummy.group 0 nil) (nntp news) (nn } gnus-move-group-to-server result: Translating dummy.group...done { gnus-move-group-to-server args: ((no.test 6 ((1 . 952) (3258 . 3283) } gnus-move-group-to-server result: Translating no.test...done { gnus-move-group-to-server args: ((no.sport.motorsport 3 ((1 . 44) 52 } gnus-move-group-to-server result: Translating no.sport.motorsport... { gnus-move-group-to-server args: ((no.alt.motorsykler 3 ((1 . 33523)) - I left it running for a day or so, and then C-g'd it - Then I stepped through some iterations with `n'. It was spending its time in this loop: (while (looking-at "^[0-9]+\t[^\t]*\t[^\t]*\t[^\t]*\t\\([^\t]*\\)\t") (when (setq to-article (gnus-gethash (buffer-substring (match-beginning 1) (match-end 1)) hashtb)) ;; Add this article to the list of read articles. (push to-article to-reads) ;; See if there are any marks and then add them. (when (setq mark (assq (read (current-buffer)) marks)) (setq marks (delq mark marks)) (setcar mark to-article) (push mark to-marks)) (forward-line 1))) The test in the while returned t for all of the steppings I did, and the cond in the when returned nil for all steppings I did. Not really a surprising result if we're talking about 60 ticked articles of a total of 33000 or thereabouts I'm guessing this while loop is where it has spent its time. So I guess the move-server methods really take too much time to be of use. At least if the available article count is too large (with a 14 day expiry, they probably would have worked ok).