Gnus development mailing list
 help / color / mirror / Atom feed
* fast list
@ 2010-10-17  5:15 James Cloos
  2010-10-17 22:02 ` Lars Magne Ingebrigtsen
  0 siblings, 1 reply; 21+ messages in thread
From: James Cloos @ 2010-10-17  5:15 UTC (permalink / raw)
  To: ding

I fixed my modification of dbmail-2.2 to need only a single sql SELECT
to do an IMAP LIST/LSUB.  Previously it grabbed the UIDVALIDITY values
for the to-be-listed-groups in one SELECT, then iterated through that
list SELECTing the info required for LIST.

Now that latter data is returned as part of the initial SELECT.

That improved LIST from ~1k seconds for ~20k groups to about 1/2 second.

Nice.

But gnus still needs to do an EXAMINE Or STATUS or SELECT on each
returned group, and that is slow.

Ir turns out that the IMAP working group already thought of that,
though.

RFC 5819 defines an extension to LIST which returns STATUS replies
interleaved with the normal LIST replies.  Using that should speed
gnus startup considerably.

Gnus needs to note the LIST-STATUS capability; when it exists gnus
should send commands akin to:

   C: A01 LIST "" % RETURN (STATUS (MESSAGES UNSEEN))

specifying what status info it wants for each group.

 RETURN (STATUS (MESSAGES RECENT UIDNEXT UIDVALIDITY UNSEEN))

would be OK here.

The reply includes w/in the untagged part of the reply status info after
each line of the list info, specifying the status info for that mailbox.

With that my startup time should get down to something which doesn't
involve stepping away for a pot of tea.  Or three. :-/

I expect to have the dbmail side of LIST-STATUS done tomorrow (it
doesn't look too difficult; at least not after I just finished a dbmail
hacking session) and should be able to test out any gnus support.

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



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2010-10-22 14:51 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-17  5:15 fast list 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
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

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).