From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: luke.olbrish@cc.gatech.edu (Luke A. Olbrish) Newsgroups: gmane.emacs.devel Subject: Re: Are there plans for a multi-threaded Emacs? Date: Sun, 07 Dec 2003 20:26:38 -0500 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <7vbrqkm75d.fsf@gehennom.net> References: <87oevbes4h.fsf@emacswiki.org> <20031117040607.C6C5D79B72@server2.messagingengine.com> <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> <4nsmjzwjjj.fsf@lockgroove.bwh.harvard.edu> <7vwu9bdmqj.fsf@gehennom.net> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1070847028 1424 80.91.224.253 (8 Dec 2003 01:30:28 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 8 Dec 2003 01:30:28 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Mon Dec 08 02:30:24 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 1ATAEC-0006CM-00 for ; Mon, 08 Dec 2003 02:30:24 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1ATAEC-0005iH-00 for ; Mon, 08 Dec 2003 02:30:24 +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 1ATB8t-0004rH-BW for emacs-devel@quimby.gnus.org; Sun, 07 Dec 2003 21:28:59 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ATB8X-0004qg-QK for emacs-devel@gnu.org; Sun, 07 Dec 2003 21:28:37 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ATB80-0004aM-VW for emacs-devel@gnu.org; Sun, 07 Dec 2003 21:28:36 -0500 Original-Received: from [128.61.105.189] (helo=demogorgon.gehennom.net) by monty-python.gnu.org with esmtp (Exim 4.24) id 1ATB80-0004aJ-L1 for emacs-devel@gnu.org; Sun, 07 Dec 2003 21:28:04 -0500 Original-Received: by demogorgon.gehennom.net (Postfix, from userid 1012) id AA1BE2BC97; Sun, 7 Dec 2003 20:26:38 -0500 (EST) Original-To: Stefan Monnier In-Reply-To: (Stefan Monnier's message of "07 Dec 2003 19:10:20 -0500") User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.2 (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:18530 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:18530 Stefan Monnier writes: >> efficient for single processor machines. Read the paper: "Flash: an >> Efficient and Portable Web Server". The creators implement an event >> driven model for web serving and get significantly better performance >> than staple web servers like apache. Even lightweight threads have > > Note that there's a reason why Apache does not use an event-driven approach: > it's a lot more painful to write. So comparing performance of X with Apache > is kind of like comparing the performance of sed with the performance of > Emacs. Except that some people do try to make Apache faster (even though > it's not the main focus of development, far from it), whereas noone does > that for Emacs. My comments stem more from Ted's use of various thread implementation keywords than the concept of threads. It is very true that threading models tend to be more flexible than event driven models. Though I wonder if some more thought was put into building an event driven paradigm for a language, if programmers could often get what they want without resorting to threads. Many programmers do not know how to properly create threaded programs. Ideally, a nice event driven mechanism and a nice threading mechanism would exist and programmers would be free to choose the best paradigm for their program. > So I think if we want some kind of parallelism, the most important aspect > for Emacs would be convenience of elisp coding rather than efficiency. Well if we are going to get into a discussion of the convenience of elisp, maybe its time to discuss dynamic scoping. This would be a personal peeve though and many mind find the willy-nilly identifier capabilities of dynamic scoping to be convenient. -- Luke Anthony Olbrish