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: Fri, 05 Dec 2003 15:37:56 -0500 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <7vwu9bdmqj.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> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1070656831 30028 80.91.224.253 (5 Dec 2003 20:40:31 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 5 Dec 2003 20:40:31 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Fri Dec 05 21:40:27 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 1ASMkV-0006eB-00 for ; Fri, 05 Dec 2003 21:40:27 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1ASMkV-0002VD-00 for ; Fri, 05 Dec 2003 21:40:27 +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 1ASNhr-00047W-Ae for emacs-devel@quimby.gnus.org; Fri, 05 Dec 2003 16:41:47 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ASNh7-000470-M2 for emacs-devel@gnu.org; Fri, 05 Dec 2003 16:41:01 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ASNfX-0003Wr-Mc for emacs-devel@gnu.org; Fri, 05 Dec 2003 16:39:54 -0500 Original-Received: from [128.61.105.189] (helo=demogorgon.gehennom.net) by monty-python.gnu.org with esmtp (Exim 4.24) id 1ASNfX-0003Wj-0x for emacs-devel@gnu.org; Fri, 05 Dec 2003 16:39:23 -0500 Original-Received: by demogorgon.gehennom.net (Postfix, from userid 1012) id D43262BCBD; Fri, 5 Dec 2003 15:37:56 -0500 (EST) Original-To: Ted Zlatanov In-Reply-To: <4nsmjzwjjj.fsf@lockgroove.bwh.harvard.edu> (Ted Zlatanov's message of "Fri, 05 Dec 2003 07:12:00 -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:18431 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:18431 Ted Zlatanov writes: > You and Stefan are right, I generalized too much. I meant a specific > type of application, and I think Emacs can be such. I've given > several examples of cases where multithreading or any sort of > multitasking would help, and I've repeatedly explained why I think > lightweight threads instead of heavyweight threads would be better > (because of the tight coupling of applications and functions inside > Emacs). I think preemptive threading in particular will be the most > useful implementation, but cooperative multithreading is a valid > solution as well. Lightweight threads versus heavyweight threads? By lightweight do you mean user space threads or green threads? They tend to only provide a nice abstraction for certain applications, as the operating system will block the process if any of the user space threads block. There is significant evidence to show that event driven models are quite 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 associated baggage with threading and it seems like people think threading will magically create more processing power. If you mean lightweight threads in the sense of a general OS development trend to make OS threading more of a lightweight operation, then its OS specific and independent of emacs. -- Luke Anthony Olbrish