From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/68847 Path: news.gmane.org!not-for-mail From: Daniel Pittman Newsgroups: gmane.emacs.gnus.general Subject: Re: Gnus' speed Date: Thu, 30 Jul 2009 16:03:34 +1000 Organization: How about yours? http://rimspace.net/resume/ Message-ID: <87skger9l5.fsf@rimspace.net> References: <87zlao7j1z.fsf@CPU107.opentrends.net> <87iqhb7w7a.fsf@CPU107.opentrends.net> <87tz0v7362.fsf@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1248935775 2197 80.91.229.12 (30 Jul 2009 06:36:15 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 30 Jul 2009 06:36:15 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M17269@lists.math.uh.edu Thu Jul 30 08:36:09 2009 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.50) id 1MWPFH-00026c-69 for ding-account@gmane.org; Thu, 30 Jul 2009 08:36:07 +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 1MWPEg-0005h1-SH; Thu, 30 Jul 2009 01:35:30 -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 1MWOxp-0005am-Bd for ding@lists.math.uh.edu; Thu, 30 Jul 2009 01:18:05 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx2.math.uh.edu with esmtp (Exim 4.69) (envelope-from ) id 1MWOxn-0006Ht-VQ for ding@lists.math.uh.edu; Thu, 30 Jul 2009 01:18:05 -0500 Original-Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by quimby.gnus.org with esmtp (Exim 3.36 #1 (Debian)) id 1MWOyN-00014h-00 for ; Thu, 30 Jul 2009 08:18:39 +0200 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1MWOxl-0007rL-0T for ding@gnus.org; Thu, 30 Jul 2009 06:18:01 +0000 Original-Received: from sdcarl02.strategicdata.com.au ([203.214.67.82]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 30 Jul 2009 06:18:00 +0000 Original-Received: from daniel by sdcarl02.strategicdata.com.au with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 30 Jul 2009 06:18:00 +0000 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 37 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: sdcarl02.strategicdata.com.au User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.96 (gnu/linux) Cancel-Lock: sha1:ZYbFlW64TVpIb/TYEzEi0xeWS+4= X-Spam-Score: -3.6 (---) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:68847 Archived-At: Tom Tromey writes: >>>>>> "Ted" == Ted Zlatanov writes: > > Ted> But there's a bigger problem: Gnus is by design synchronous. You > Ted> enter a group, then wait for the summary buffer to be built. Gnus > Ted> doesn't have the concept of "enter a buffer and let the articles > Ted> come in asynchronously" and I doubt it's possible without some > Ted> multithreading support in Emacs Lisp, which has been discussed many > Ted> times but is probably far in the future (at least a year, judging > Ted> by threads in emacs-devel). Gnus blocks on many other operations > Ted> too. > > Do you mean, this can't be done without threads because it means too > much rewriting of Gnus? No, because it requires rewriting of *Emacs* to add support for threads. That, in turn, would require rebuilding the Emacs Lisp engine to support concurrency, which in turn will drive you completely insane because a completely dynamically scoped language doesn't play nicely with threads. However, if you are seriously interested there is currently some little effort in either implementing ELisp in Guile, or adding threads, discussed in the Emacs development groups over the last few months. > It seems to me that in theory Gnus could work asynchronously by doing work > in process filters. Actually, you could also do it with idle timers, and/or redisplay stuff, but this is enormously non-trivial to achieve and requires rewriting most of the core of Gnus. Regards, Daniel -- ✣ Daniel Pittman ✉ daniel@rimspace.net ☎ +61 401 155 707 ♽ made with 100 percent post-consumer electrons