Gnus development mailing list
 help / color / mirror / Atom feed
From: Eric Abrahamsen <eric@ericabrahamsen.net>
To: ding@gnus.org
Subject: Re: nnvirtual
Date: Wed, 03 May 2017 11:00:50 -0700	[thread overview]
Message-ID: <87y3udn7l9.fsf@ericabrahamsen.net> (raw)
In-Reply-To: <87mvauxgt9.fsf@hanan>

Andrew Cohen <cohen@bu.edu> writes:

> Gnus has had the nnvirtual backend, allowing several newsgroups to be
> read as a single, combined newsgroup, for ages. But is anyone using it?
> And if so, how and why?
>
> Background (if you are interested): the new backend I have written,
> nnselect, is a general backend that can take any set of articles and
> treat them like a single group. This group behaves in all respects like
> any regular gnus group (subject to bugs, and a few untested items like
> article caching and the agent). One use (but not the only use) is to use
> a search function to obtain the selection of articles.
>
> So nnselect can be used as a full replacement for nnvirtual, in addition
> to doing lots more. For reference, the function that you can find at the
> end of this message can be used to combine groups (it takes a list of
> groups to combine as argument).
>
> So why my question? In part, because the way I am doing things has some
> performance issues when you have a group with hundreds of thousands of
> articles (which is often the case for gmane, since nothing ever
> expires). I can fix all of the performance issues with one exception:
> retrieving a hundred thousand headers and doing anything with them is
> never going to be speedy. And this has nothing to do with combining but
> just getting and dealing with all these headers is trouble. So to
> optimize things well I want to know what people are really doing with
> these combined groups. In a past life, when gmane searching was
> available, I had a straightforward answer to this question: I just
> searched for whatever articles were of interest and made my group out of
> these. I never needed to combine whole groups.
>
> But search is now defunct (at least for the moment). And I must say,
> using gmane without it kind of sucks. So I rarely do anything more
> complicated than looking at recent messages, and occasionally going back
> to look through the past several hundred messages. Never more
> than 500. Or maybe 1000.
>
> So the really simple thing that I have done in the function that follows
> is apply a (configurable) limit to how many articles are in the combined
> group from any one component group. I have been using this for a week
> now with the limit set at 1000 which has a noticeable but not annoying
> impact on performance. But I've also set the limit to 100,000 and tried
> to pull in gmane.emacs.gnus.general (which stands at around 85,000
> messages). I never successfully retrieved a header list (either with
> nnselect or with nntp) but the nnselect part of the code did fine,
> albeit with a few seconds devoted to some avoidable bookkeeping. But I
> don't want to spend time writing code to avoid the bookkeeping if it
> isn't something that is relevant anyway.

(Me again.)

Is there a way to make use of Gnus' existing "big group" behavior?
Meaning, add the active numbers, and if it's more than
`gnus-large-newsgroup', prompt the user for the number of articles to
retrieve? Or is that happening at a different level of infrastructure?

Eric




  reply	other threads:[~2017-05-03 18:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-03 12:31 nnvirtual Andrew Cohen
2017-05-03 18:00 ` Eric Abrahamsen [this message]
2017-05-04  1:06   ` nnvirtual Andrew Cohen
2017-05-05  4:30     ` nnvirtual Eric Abrahamsen
2017-05-05 12:09       ` nnvirtual Andrew Cohen
2017-05-05 12:51         ` nnvirtual Andrew Cohen
2017-05-05 15:46         ` nnvirtual Eric Abrahamsen
2017-05-06  0:20           ` nnvirtual Andrew Cohen
2017-05-07  2:39             ` nnvirtual Eric Abrahamsen
2017-05-12 15:38 ` nnvirtual Steinar Bang
2017-05-12 17:42   ` nnvirtual Adam Sjøgren
2017-05-13  0:17     ` nnvirtual Harry Putnam
2018-04-11 19:42 ` nnvirtual Lars 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=87y3udn7l9.fsf@ericabrahamsen.net \
    --to=eric@ericabrahamsen.net \
    --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).