From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Simon Josefsson Newsgroups: gmane.emacs.devel Subject: Re: What's the problem? Date: Wed, 10 Dec 2003 06:38:56 +0100 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: <87ekvpx18d.fsf@emptyhost.emptydomain.de> <4nad6cikxy.fsf@holmes.bwh.harvard.edu> <4nllpt3hr3.fsf@lockgroove.bwh.harvard.edu> <5bad69zd43.fsf@lister.roxen.com> <4noeuon378.fsf@lockgroove.bwh.harvard.edu> <4ny8tsgxy6.fsf@lockgroove.bwh.harvard.edu> <4nhe0ggv0u.fsf@lockgroove.bwh.harvard.edu> <4nk75bwjaf.fsf@lockgroove.bwh.harvard.edu> <4nsmjv8d32.fsf@collins.bwh.harvard.edu> <87iskpbloe.fsf@mail.jurta.org> , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Wed Dec 10 06:42:51 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1ATx7b-0006UV-00 for ; Wed, 10 Dec 2003 06:42:51 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1ATx7a-0000hh-00 for ; Wed, 10 Dec 2003 06:42:50 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1ATy2n-0003if-HN for emacs-devel@quimby.gnus.org; Wed, 10 Dec 2003 01:41:57 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ATy2j-0003ia-3S for emacs-devel@gnu.org; Wed, 10 Dec 2003 01:41:53 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ATy2D-0003e3-EX for emacs-devel@gnu.org; Wed, 10 Dec 2003 01:41:52 -0500 Original-Received: from [217.13.230.178] (helo=yxa.extundo.com) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1ATy1h-0003Ys-65; Wed, 10 Dec 2003 01:40:49 -0500 Original-Received: from latte (yxa.extundo.com [217.13.230.178]) (authenticated bits=0) by yxa.extundo.com (8.12.10/8.12.10) with ESMTP id hBA5dKAU000757 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO); Wed, 10 Dec 2003 06:39:21 +0100 Original-To: Miles Bader Mail-Copies-To: nobody X-Payment: hashcash 1.2 0:031210:miles@gnu.org:c6c9bd6f3abd59cd X-Hashcash: 0:031210:miles@gnu.org:c6c9bd6f3abd59cd X-Payment: hashcash 1.2 0:031210:juri@jurta.org:80cb09b3450625b5 X-Hashcash: 0:031210:juri@jurta.org:80cb09b3450625b5 X-Payment: hashcash 1.2 0:031210:emacs-devel@gnu.org:7d1fbc38c7c49a50 X-Hashcash: 0:031210:emacs-devel@gnu.org:7d1fbc38c7c49a50 In-Reply-To: (Miles Bader's message of "10 Dec 2003 13:35:14 +0900") User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:18605 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:18605 Miles Bader writes: > Simon Josefsson writes: >> If you profile Gnus with ELP, you see that the amount of time spent >> waiting for external processes like movemail is not the biggest cause >> of the lockups. Most of it is spent evaluating elisp. Even when >> getting new mail. > > It depends on your environment of course -- if you have a slow network > connection (or a slow server), it can spend a _lot_ of time waiting for > external processes/data. Right, with emphasis on _can_. > Personally I think making emacs generally multi-threaded is far more > trouble than it's worth, but in some cases like gnus, it would be worth > it to rewrite (small parts of) _that application_ to execute in the > background. For me, this wouldn't solve the problem (CPU bound summary computations). For you, on a slow connection, it would solve your problem (IO bound network access). There is nothing that says we can't do both. (Except that none of us appear to be doing anything but talking... :-)) > Anyway my main point is that I think it's basically an application > issue, though emacs might help by adding helper functions. I don't see how fixing my perceived problem can be done without some kind of threading support in Emacs (co-operative or whatever). Hence, helper functions would do more than just help, they are critical in improving the application.