Gnus development mailing list
 help / color / mirror / Atom feed
From: James Cloos <cloos@jhcloos.com>
To: ding@gnus.org
Subject: Re: fast list
Date: Mon, 18 Oct 2010 19:17:09 -0400	[thread overview]
Message-ID: <m362wzhz02.fsf@carbon.jhcloos.org> (raw)
In-Reply-To: <m3r5fn8b8r.fsf@quimbies.gnus.org> (Lars Magne Ingebrigtsen's message of "Mon, 18 Oct 2010 23:03:16 +0200")

>>>>> "LMI" == Lars Magne Ingebrigtsen <larsi@gnus.org> writes:

LMI> Well, if you issue FETCH FLAGS, then you have to issue EXAMINE, too.

LMI> Returning the FLAGS for all the groups will be so much data that's it's
LMI> not generally useful. 

Why not?  It is what gnus does now, just one group at a time instead of
all in one go.

LMI> However, a global QRESYNC would be excellent.  QRESYNC works by
LMI> outputting all the flags that have changed since <SEQUENCE>.  So if
LMI> you said

LMI> LIST "" "%" RETURN (STATUS QRESYNC 43488328)

LMI> (or something) to return all the changed flags since that sequence
LMI> number, that would allow a really fast and comprehensive
LMI> server->client flag sync-up.

True, but adding QRESYNC requires adding CONDSTORE, and the latter is a
big project.  I'd expect several days to get it right.

LMI> Have a look at RFC5162 for the QRESYNC description, but there it's only
LMI> a parameter to EXAMINE/SELECT, so you still need to EXAMINE all the mail
LMI> boxes, annoyingly enough.

Yeah, we'd need to do an i-d to register another extended list option.

LMI> But here's a thought: nnimap could have a "sloppy" mode.  In the sloppy
LMI> mode, it doesn't care about syncing flags that comprehensively, and
LMI> instead deferring that to when you enter the group.  The sloppy mode
LMI> could work with the LIST RETURN command, for instance, or an EXAMINE run
LMI> (with no FETCH FLAGS).  It would just look at UNSEEN and UIDNEXT, and
LMI> just say "if UNSEEN is 5, and UIDNEXT is 242, then we say that all
LMI> messages between 1-236 are read, and the last five are unread".  When
LMI> the group is entered, it issues a "FETCH FLAGS" and gets things right.

LMI> But this could be result in pretty brittle behaviour if everything isn't
LMI> done just right...

That would be closer to the way other clients tend to work, I'd imagine.
If it did that for startup and g, then M-g could continue to work like now.

The equivilent of UID FETCH FLAGS for every group, if done as a single
command, takes about one or two seconds, vs 20 minutes iterating through
one group at a time.  I am eager to fix that.

-JimC
-- 
James Cloos <cloos@jhcloos.com>         OpenPGP: 1024D/ED7DAEA6



  reply	other threads:[~2010-10-18 23:17 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-17  5:15 James Cloos
2010-10-17 22:02 ` Lars Magne Ingebrigtsen
2010-10-17 22:58   ` James Cloos
2010-10-18 19:10     ` Lars Magne Ingebrigtsen
2010-10-18 20:49       ` James Cloos
2010-10-18 21:03         ` Lars Magne Ingebrigtsen
2010-10-18 23:17           ` James Cloos [this message]
2010-10-18 23:38             ` Lars Magne Ingebrigtsen
2010-10-19 16:00               ` James Cloos
2010-10-19 16:13                 ` Steinar Bang
2010-10-19 18:12                   ` Lars Magne Ingebrigtsen
2010-10-19 20:56                   ` James Cloos
2010-10-19 18:12                 ` Lars Magne Ingebrigtsen
2010-10-19 21:05                   ` James Cloos
2010-10-20  0:07                     ` Lars Magne Ingebrigtsen
2010-10-20 18:47                       ` James Cloos
2010-10-21 15:59                         ` Lars Magne Ingebrigtsen
2010-10-21 19:13                           ` James Cloos
2010-10-22 14:51                             ` Lars Magne Ingebrigtsen
2010-10-19  5:58           ` Steinar Bang
2010-10-19 18:11             ` 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=m362wzhz02.fsf@carbon.jhcloos.org \
    --to=cloos@jhcloos.com \
    --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).