From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/70797 Path: news.gmane.org!not-for-mail From: Lars Magne Ingebrigtsen Newsgroups: gmane.emacs.gnus.general Subject: Re: That newfangled IMAP thing... Date: Tue, 14 Sep 2010 01:56:08 +0200 Organization: Programmerer Ingebrigtsen Message-ID: References: <87pqwmsusz.fsf@news.realpath.org> <8762yd6j4j.fsf@rimspace.net> <87eid0fsil.fsf@lifelogs.com> <87bp84y00w.fsf@keller.adm.naquadah.org> <878w35ex1q.fsf@lifelogs.com> <87aanlde64.fsf@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1284422226 7508 80.91.229.12 (13 Sep 2010 23:57:06 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 13 Sep 2010 23:57:06 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M19170@lists.math.uh.edu Tue Sep 14 01:57:02 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 1OvItS-0004UN-Ch for ding-account@gmane.org; Tue, 14 Sep 2010 01:57:02 +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 1OvIss-0007ZP-34; Mon, 13 Sep 2010 18:56:26 -0500 Original-Received: from mx1.math.uh.edu ([129.7.128.32]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1OvIsq-0007ZD-N3 for ding@lists.math.uh.edu; Mon, 13 Sep 2010 18:56:24 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx1.math.uh.edu with esmtp (Exim 4.72) (envelope-from ) id 1OvIsl-0001Rq-JU for ding@lists.math.uh.edu; Mon, 13 Sep 2010 18:56:24 -0500 Original-Received: from lo.gmane.org ([80.91.229.12]) by quimby.gnus.org with esmtp (Exim 3.36 #1 (Debian)) id 1OvIsk-0007F8-00 for ; Tue, 14 Sep 2010 01:56:18 +0200 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1OvIsh-0004Eg-HD for ding@gnus.org; Tue, 14 Sep 2010 01:56:15 +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 ; Tue, 14 Sep 2010 01:56:15 +0200 Original-Received: from larsi by cm-84.215.34.171.getinternet.no with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 14 Sep 2010 01:56:15 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: ding@gnus.org Original-Lines: 38 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: cm-84.215.34.171.getinternet.no Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAMFBMVEUSAAEsDA1wi5tZqLz5 9oxkRzzx7X359H738nyguLFLoNFUpL78/O/////+//7O1bSeI0Y/AAACJUlEQVQ4jXXUMWvbQBQH 8JPBhW5WwKEtAYOKBpHSJVsL6WJCh0AjwQVUWm8WLgS89gMYcYVCi0oGDbGhowv5ANEWyFCQFYjp IKOTabcU1wGDB4Nr9d05tU9y/Adr+fHevWcdQpQnhl/08He73R4Qi+UVGvg+vc0GA58QYmHrEvlL wHOoYowPLxFdJC4uQE9BlGMQsFZVS4TwPq+oEWJXaykoMbjYhJJqbX8VHnA4EqDP9xjf41AXD+d7 nBc5fBKA8nGTQ8JiiYAFsFML9u6G/sYaCEvdJYiHX22FSzhagdYcPjL4cwslgK+yXoR/i+ynDgco SDrazEBk9F0HAeQzQIeU/kCSjCR++KjpaloSKo6iqJp5hSD5OVQU/DYJ1V8YmxUlKgDkOIzfqLo5 CQ2nqBumGWGEJDZwHY22MK5MrtVzjA2omEAni+8xVhxNGbUczdUcxY1G8n9YzHRjdGAXOX+AjHK5 LIx7cXwC27M9JLiE/hLGpum6qszyeGfHEyrMyvD4gO2BHnmeAP1pp2985vA6Bezlxj85bHtnaYC3 WEAFlPO8s28ZiFS9UPSyAOPvbXs8aXgPl+NOeAnwfB1462BtK82qu63ky7MXGSA10oDbFF/vZoGQ Bl/0dA10d1EUD4dBEMTBYLBn28S2Gr7fob0T1LuZNpuzJJ59TyYf3hHM8pR2/6IYKiDsyVpZVj1J ZrTbzJ4BH55kGtBwZSpopBhPaHT6D9tT7db/TeBuAAAAAElFTkSuQmCC Mail-Copies-To: never X-Now-Playing: Blaine L. Reininger's _Broken Fingers_: "Uptown" User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:NwP2c+5dJDFuDEB94+5PeaDNk/s= X-Spam-Score: -1.9 (-) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:70797 Archived-At: I just had the most brilliant idea (if I must say so myself) while trying to fall asleep. The way to get flags and stuff on `g' from the IMAP servers is to stream "EXAMINE" and "FETCH 1:* FLAGS" (and variants thereof) commands on all the subscribed groups, and then wait for all the data to arrive, and then parse it and do stuff. So 99% of the time is spent in `process-accept-output'. Here's the brilliant idea: The network backends could have their get-new-data-on-all-subscribed-groups functions split in two: One "early" bit and one "finish" bit. So instead of doing (dolist (method methods) (get-data method)) I'll rewrite that to (dolist (method methods) (get-data-early method)) (dolist (method methods) (get-data-finish method)) That way, data will be arriving from all the network methods (i.e., IMAP and NNTP) in parallel, and reading 100 groups from 10 nntp/imap servers each should be only vaguely slower than reading 1000 groups from 1 server. And it should be trivial to implement. -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen