From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/73262 Path: news.gmane.org!not-for-mail From: Lars Magne Ingebrigtsen Newsgroups: gmane.emacs.gnus.general Subject: Re: fast list Date: Mon, 18 Oct 2010 23:03:16 +0200 Organization: Programmerer Ingebrigtsen Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1287435837 18741 80.91.229.12 (18 Oct 2010 21:03:57 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 18 Oct 2010 21:03:57 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M21634@lists.math.uh.edu Mon Oct 18 23:03:56 2010 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from util0.math.uh.edu ([129.7.128.18]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1P7ws5-00027y-AG for ding-account@gmane.org; Mon, 18 Oct 2010 23:03:53 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by util0.math.uh.edu with smtp (Exim 4.63) (envelope-from ) id 1P7wrr-0000xN-E9; Mon, 18 Oct 2010 16:03:39 -0500 Original-Received: from mx2.math.uh.edu ([129.7.128.33]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1P7wrp-0000x8-Qu for ding@lists.math.uh.edu; Mon, 18 Oct 2010 16:03:37 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx2.math.uh.edu with esmtp (Exim 4.72) (envelope-from ) id 1P7wrc-0006CB-Ha for ding@lists.math.uh.edu; Mon, 18 Oct 2010 16:03:37 -0500 Original-Received: from lo.gmane.org ([80.91.229.12]) by quimby.gnus.org with esmtp (Exim 3.36 #1 (Debian)) id 1P7wrb-000674-00 for ; Mon, 18 Oct 2010 23:03:23 +0200 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1P7wrb-0001yg-9R for ding@gnus.org; Mon, 18 Oct 2010 23:03:23 +0200 Original-Received: from cm-84.215.34.171.getinternet.no ([84.215.34.171]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 18 Oct 2010 23:03:23 +0200 Original-Received: from larsi by cm-84.215.34.171.getinternet.no with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 18 Oct 2010 23:03:23 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: ding@gnus.org Original-Lines: 56 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: cm-84.215.34.171.getinternet.no Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEUQGSnjv5ctOEN6aVa7 m3gLER0XJDkEBwtbEVHrAAACHElEQVQ4jXXSwY6bMBAAUIsVcEbhA5AJcEWM0z0TW+rVomu4Iq8g 1ygr6t/v2NjsptuOlEP8NJ4ZD4TYSFYbJa/XEPWX8/V88qBrSh2Q/S/LQ4YOkPwFKE9wOiBkuLvK /nTUpprIg8qeH7Bqov4NK1EYLkvDd3BZmv0XMk6hfgYrJctyACjWJJlxgAMSC0KIzk/mQSIICxn3 XXpQJAIHghdkv9qD0ggZgmhJ7PpXyhg8T3CMDFOYaKVaxpgQ40JBySxwyHgsu2EoPJgOa2Pwi+jb Dn69Q4CPs4XcwutPeHwCODjB5ZxfXuNNhhrmjvM5+GBdY+7YsIcB3FXi8sZbpd5UyNgiB5lozwyu 8BK1Hu7UjpHleccYvvEL8bCNbgwEoADXciQXn3EAP0P5w05MotTV3kEIwJvwkcxC5uI2Dw8KewYC UFXroSJaN7dZUxC+BuNFTGlUkFk3hbZgu7XL5TWhNcKkJrPJMgDHrcex3WAcp0pFJQvA/NIxbSFf QXS6cFBXVS01BBDiSndoGgSsjdC7pYeMaZqU9N26jE4SFbvXnUx0QCZ4OyxKDriPe4MP4q6y0fNq VYuWigxrY+wYIs96/OQs0ILiIyZzGjIsiGsVWTDkoabNjoGHmcCuutvvNMXKxO11B/wJ3jUbtoMw uoUj2C86Fxyqh2osDCv5BFwU0HFyMC6Nwj1/h0faSAcigEpvFsx2e4Zq/zz+ALUjD1I+0ytEAAAA AElFTkSuQmCC Mail-Copies-To: never X-Now-Playing: Sussan Deyhim, Bill Laswell's _Shy Angels_: "Bade Saba" User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:FyMSVBIkxD19q9vcshm90aRp/xI= X-Spam-Score: -1.9 (-) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:73262 Archived-At: James Cloos writes: > I restart gnus again last night, with strace attached. It sent: > > LIST # *fast*, now > EXAMINE for each group # took ~20 min > # worked internally for ~20 min > LIST # again? > EXAMINE/UID FETCH FLAGS tuple # another ~20 min That's odd. There should only be one EXAMINE run. And that's what I get if I push `g'. >>> LIST "" "%" RETURN (STATUS (MESSAGES RECENT UIDNEXT UIDVALIDITY UNSEEN)) > > It seems like an extended LIST which returns STATUS and FLAGS would do > the same as the UID FETCH FLAGS for every group, yes? > > At the very least LIST-STATUS should avoid the need to EXAMINE each > group twice, yes? Well, if you issue FETCH FLAGS, then you have to issue EXAMINE, too. > If I get an i-d written up to support a FLAGS return type for LIST, > would you be willing to add support for that to nnimap? Returning the FLAGS for all the groups will be so much data that's it's not generally useful. However, a global QRESYNC would be excellent. QRESYNC works by outputting all the flags that have changed since . So if you said LIST "" "%" RETURN (STATUS QRESYNC 43488328) (or something) to return all the changed flags since that sequence number, that would allow a really fast and comprehensive server->client flag sync-up. Have a look at RFC5162 for the QRESYNC description, but there it's only a parameter to EXAMINE/SELECT, so you still need to EXAMINE all the mail boxes, annoyingly enough. But here's a thought: nnimap could have a "sloppy" mode. In the sloppy mode, it doesn't care about syncing flags that comprehensively, and instead deferring that to when you enter the group. The sloppy mode could work with the LIST RETURN command, for instance, or an EXAMINE run (with no FETCH FLAGS). It would just look at UNSEEN and UIDNEXT, and just say "if UNSEEN is 5, and UIDNEXT is 242, then we say that all messages between 1-236 are read, and the last five are unread". When the group is entered, it issues a "FETCH FLAGS" and gets things right. But this could be result in pretty brittle behaviour if everything isn't done just right... -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen