Gnus development mailing list
 help / color / mirror / Atom feed
From: Detlev Zundel <dzu@denx.de>
To: ding@gnus.org
Subject: Performance regression expiring nnml groups
Date: Mon, 06 Dec 2010 10:20:16 +0100	[thread overview]
Message-ID: <m2tyirxnov.fsf@ohwell.denx.de> (raw)

Hi,

recently I upgraded my emacs from git://repo.or.cz/emacs.git effectively
jumping from commit b6bd53c (EMACS_23_2-3198-gb6bd53c) to commit d1be0ce
(EMACS_PRETEST_23_2_90-3710-gd1be0ce).  For gnus this was a lot of
changes:

dzu@ohwell:emacs[0]$ git diff --stat b6bd53c..d1be0ce lisp/gnus
[...]
 69 files changed, 6387 insertions(+), 3632 deletions(-)

Since this upgrade, expiring an article from an nnml group to another
nnmail group now roughly takes one second per article compared to below
a second for the whole group as before.  I should mention that the PC
running this Emacs is somewhat aged (Pentium III) so maybe nobody else
noticed this regression before as it most likely will not be that
noticeable for faster hardware.

Doing a profile, it seems like the problem is somewhere below
the call to gnus-request-accept-article as shown by these numbers from elp:

gnus-summary-exit                                                             1           91.959608     91.959608
gnus-run-hooks                                                                5           91.917669000  18.383533800
gnus-summary-expire-articles                                                  1           91.917626     91.917626
gnus-request-expire-articles                                                  1           91.892586     91.892586
gnus-request-accept-article                                                   78          88.905859999  1.1398187179
gnus-group-mark-article-read                                                  78          0.692419      0.0088771666
gnus-group-make-articles-read                                                 78          0.5176209999  0.0066361666
gnus-request-set-mark                                                         79          0.4452899999  0.0056365822
gnus-activate-group                                                           78          0.0944839999  0.0012113333
gnus-group-update-group                                                       79          0.0871199999  0.0011027848
gnus-topic-update-topic-line                                                  158         0.0624190000  0.0003950569
gnus-request-group                                                            156         0.0553440000  0.0003547692
gnus-topic-update-topics-containing-group                                     79          0.0480610000  0.0006083670
gnus-summary-update-info                                                      1           0.038921      0.038921

Is this a known behaviour?

The configuration for the group in question is something like this:

(setq gnus-auto-expirable-newsgroups "^\\(nnml:\\)*\\(mail\\|list\\)\\.*")
(setq gnus-parameters
      `(((,(regexp-quote "nnml:mail.foo")
	 (expiry-target . "nnml:mail.foo-old")
	 (expiry-wait 100))

The nnml group where expiration takes place contains ~2900 articles and
the target group ~35000.

Thanks for any help.

Cheers
  Detlev

-- 
X-Windows has to be the most expensive way ever of popping up an Emacs
window.
                                          -- The UNIX Haters Handbook




             reply	other threads:[~2010-12-06  9:20 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-06  9:20 Detlev Zundel [this message]
2010-12-16 17:52 ` Lars Magne Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2tyirxnov.fsf@ohwell.denx.de \
    --to=dzu@denx.de \
    --cc=ding@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).