unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Manuel Giraud via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Andrew Cohen <cohen@bu.edu>
Cc: Eli Zaretskii <eliz@gnu.org>, 63842@debbugs.gnu.org, cohen@andy.bu.edu
Subject: bug#63842: 30.0.50; Slow 'gnus-summary-refer-thread'
Date: Sun, 18 Jun 2023 00:16:26 +0200	[thread overview]
Message-ID: <87352ppwed.fsf@ledu-giraud.fr> (raw)
In-Reply-To: <87fs6rashz.fsf@ust.hk> (Andrew Cohen's message of "Sat, 17 Jun 2023 07:37:28 +0800")

Andrew Cohen <cohen@bu.edu> writes:

> Sorry, I have gotten busy with other things at the moment.

Hi Andrew and you don't need to be sorry for this :-)

>>>>>> "MG" == Manuel Giraud <manuel@ledu-giraud.fr> writes:
>
>     MG> Hi, So here is the crux of this issue.  When using
>     MG> 'gnus-summary-refer-thread' in a nnml group, Emacs ends up
>     MG> calling 'gnus-get-newsgroup-headers-xover' (via
>     MG> 'gnus-fetch-headers').  AFAIU in this function when
>     MG> 'gnus-read-all-available-headers' is t, Emacs will parse *all*
>     MG> of the " *nntp*" buffer content.  In my case, this buffer is
>     MG> quite big (about 50k lines and 23MiB) hence the slowness.
>
> Thanks for continuing to debug this. I am confused---why is the nntp
> buffer so full?

I think in a nnml group the nntp buffer is populated with the content of
the ".overview" file.  In this particular group, I have thousands of
messages and I think that explains the size of this file.

> The search routine should populate the buffer only with the headers of
> the articles found in the search (I am assuming that this list of
> found articles is not 50K lines long).  Maybe the search is not
> working properly?

As we are talking about 'gnus-summary-refer-thread', I guess that it is
expected that the nntp buffer is filled with this content.  A regular
query (with 'G G') is still fast, so I think my search engine is set up
properly.

> Can you step through gnus-summary-refer-thread and in the conditional
> that retrieves the new headers can you tell me which branch of the
> conditional is chosen (there are three possibilities:
> 'gnus-request-thread, 'gnus-search-thread, and the clause with the
> comment "Otherwise just retrieve some headers").

In my case, Emacs is using the 'gnus-search-thread' branch and ends up
calling 'gnus-get-newsgroup-headers-xover' which is the function that
parses all the nntp buffer content.

>     MG>BTW, I also have examples where 'gnus-summary-refer-thread' gives me
>     MG>some false positives (eg., not the same thread but part of the subject
>     MG>matching)
>
> This is probably by design: in the olden days many mailers were broken
> and didn't handle the references header properly (I don't know if this
> is still the case). So by default gnus tries to use information from the
> subject header to help gather loose threads, which can result in
> articles not actually part of the thread being included. You can check
> if this is the reason for what you are seeing by setting
>
> (setq gnus-summary-thread-gathering-function
>                       'gnus-gather-threads-by-references)
>
> and seeing if this makes a difference.

Ok, thanks for the explanation and FWIW, my
'gnus-summary-thread-gathering-function' is already set to
'gnus-gather-threads-by-references.

Best regards,
-- 
Manuel Giraud





  reply	other threads:[~2023-06-17 22:16 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-02 13:17 bug#63842: 30.0.50; Slow 'gnus-summary-refer-thread' Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-06-02 15:26 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-06-02 23:32 ` Andrew Cohen
2023-06-03 13:23   ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-06-15  5:55     ` Eli Zaretskii
2023-06-15 17:59       ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-06-16 10:36       ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-06-16 23:37         ` Andrew Cohen
2023-06-17 22:16           ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2023-06-18  0:45             ` Andrew Cohen
2023-06-18 20:57               ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-06-19 12:58                 ` Andrew Cohen
2023-06-19 15:44                   ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-06-23 10:00                     ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-07-01  8:25                       ` Eli Zaretskii
     [not found]                         ` <87edlsav34.fsf@ust.hk>
2023-07-01  9:49                           ` Eli Zaretskii

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=87352ppwed.fsf@ledu-giraud.fr \
    --to=bug-gnu-emacs@gnu.org \
    --cc=63842@debbugs.gnu.org \
    --cc=cohen@andy.bu.edu \
    --cc=cohen@bu.edu \
    --cc=eliz@gnu.org \
    --cc=manuel@ledu-giraud.fr \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).