From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Ted Zlatanov Newsgroups: gmane.emacs.devel Subject: Re: Are there plans for a multi-threaded Emacs? Date: Fri, 05 Dec 2003 07:12:00 -0500 Organization: =?koi8-r?q?=F4=C5=CF=C4=CF=D2=20=FA=CC=C1=D4=C1=CE=CF=D7?= @ Cienfuegos Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <4nsmjzwjjj.fsf@lockgroove.bwh.harvard.edu> 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> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1070626968 31830 80.91.224.253 (5 Dec 2003 12:22:48 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 5 Dec 2003 12:22:48 +0000 (UTC) Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Fri Dec 05 13:22:46 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 1ASEys-00076i-00 for ; Fri, 05 Dec 2003 13:22:46 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1ASEyr-0002O1-00 for ; Fri, 05 Dec 2003 13:22:46 +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 1ASFvm-00056g-BN for emacs-devel@quimby.gnus.org; Fri, 05 Dec 2003 08:23:38 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ASFpZ-00031u-Bz for emacs-devel@gnu.org; Fri, 05 Dec 2003 08:17:13 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ASFog-0002kR-79 for emacs-devel@gnu.org; Fri, 05 Dec 2003 08:16:49 -0500 Original-Received: from [80.91.224.249] (helo=main.gmane.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1ASFnF-0002Mt-5O for emacs-devel@gnu.org; Fri, 05 Dec 2003 08:14:49 -0500 Original-Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 1ASEpn-00066a-00 for ; Fri, 05 Dec 2003 13:13:23 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-To: emacs-devel@gnu.org Original-Received: from sea.gmane.org ([80.91.224.252]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1ASEpm-00066S-00 for ; Fri, 05 Dec 2003 13:13:22 +0100 Original-Received: from news by sea.gmane.org with local (Exim 3.35 #1 (Debian)) id 1ASEpm-000801-00 for ; Fri, 05 Dec 2003 13:13:22 +0100 Original-Lines: 28 Original-X-Complaints-To: usenet@sea.gmane.org X-Face: bd.DQ~'29fIs`T_%O%C\g%6jW)yi[zuz6; d4V0`@y-~$#3P_Ng{@m+e4o<4P'#(_GJQ%TT= D}[Ep*b!\e,fBZ'j_+#"Ps?s2!4H2-Y"sx" User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (usg-unix-v) Cancel-Lock: sha1:M/2yVSWYVUot/E3ztcAjR4M5/9Y= 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:18411 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:18411 On 05 Dec 2003, ttn@glug.org wrote: > Ted Zlatanov writes: > > Plus, I am pretty sure that when an application uses N processors > instead of one (as Emacs might with true preemptive > multithreading) > > perhaps you still don't understand the root problem: "true > preemptive multithreading" requires a certain program architecture > to take advantage of it (including but not limited to: how the > functions are written, placement of data, access patterns to the > data, external interface requirements). if emacs does not have this > particular nature, force-fitting it to make it so is a royal PITA. > if you don't force-fit it, you will never get the true preemptive > multithreading "experience". 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. Ted