From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Are there plans for a multi-threaded Emacs? Date: 07 Dec 2003 19:10:20 -0500 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: 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 1070842372 27409 80.91.224.253 (8 Dec 2003 00:12:52 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 8 Dec 2003 00:12:52 +0000 (UTC) Cc: Ted Zlatanov , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Mon Dec 08 01:12:49 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 1AT917-0003fc-00 for ; Mon, 08 Dec 2003 01:12:49 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1AT916-0004Pt-00 for ; Mon, 08 Dec 2003 01:12:49 +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 1AT9xE-0008BT-LV for emacs-devel@quimby.gnus.org; Sun, 07 Dec 2003 20:12:52 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AT9wk-00087V-D8 for emacs-devel@gnu.org; Sun, 07 Dec 2003 20:12:22 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AT9wC-0007mJ-Ch for emacs-devel@gnu.org; Sun, 07 Dec 2003 20:12:19 -0500 Original-Received: from [132.204.24.67] (helo=mercure.iro.umontreal.ca) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AT9wB-0007mF-Um for emacs-devel@gnu.org; Sun, 07 Dec 2003 20:11:48 -0500 Original-Received: from vor.iro.umontreal.ca (vor.iro.umontreal.ca [132.204.24.42]) by mercure.iro.umontreal.ca (Postfix) with ESMTP id D30D420F6C; Sun, 7 Dec 2003 19:10:20 -0500 (EST) Original-Received: by vor.iro.umontreal.ca (Postfix, from userid 20848) id 8C5073CFD9; Sun, 7 Dec 2003 19:10:20 -0500 (EST) Original-To: luke.olbrish@cc.gatech.edu (Luke A. Olbrish) In-Reply-To: <7vwu9bdmqj.fsf@gehennom.net> Original-Lines: 22 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 X-DIRO-MailScanner-Information: Please contact the ISP for more information X-DIRO-MailScanner: Found to be clean 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:18528 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:18528 > 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. 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. Stefan PS: by the way, single-proc multithreading using an event-driven model can be done (and is done) in Emacs with the current code-base. It's just inconvenient and thus little used.