From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thien-Thi Nguyen Newsgroups: gmane.emacs.devel Subject: Re: Release plans Date: Fri, 29 Aug 2008 22:03:02 +0200 Message-ID: <87zlmvd1xl.fsf@ambire.localdomain> References: <20080818101802.GA2615@muc.de> <87bpzqqk7b.fsf@uwakimon.sk.tsukuba.ac.jp> <20080818210927.GD2615@muc.de> <87wsidnxqp.fsf@uwakimon.sk.tsukuba.ac.jp> <87ljytkwpk.fsf@rattlesnake.com> <878wusz0v9.fsf@uwakimon.sk.tsukuba.ac.jp> <87vdxp27z6.fsf@uwakimon.sk.tsukuba.ac.jp> <87prnxe5hc.fsf@rattlesnake.com> <873aktck5d.fsf@uwakimon.sk.tsukuba.ac.jp> <87k5e5dsvq.fsf@rattlesnake.com> <48B44802.1080302@emf.net> <87ej4atczj.fsf@gmail.com> <48B78A75.8080103@emf.net> <803akoyrqy.fsf@tiny.isode.net> <48B7F59B.5060705@gmail.com> <48B84CA8.7080908@emf.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1220040402 20501 80.91.229.12 (29 Aug 2008 20:06:42 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 29 Aug 2008 20:06:42 +0000 (UTC) Cc: emacs-devel@gnu.org To: Thomas Lord Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Aug 29 22:07:36 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KZAFf-0005qK-0q for ged-emacs-devel@m.gmane.org; Fri, 29 Aug 2008 22:07:23 +0200 Original-Received: from localhost ([127.0.0.1]:45633 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KZAEg-0007hv-DQ for ged-emacs-devel@m.gmane.org; Fri, 29 Aug 2008 16:06:22 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KZAEc-0007hU-Nf for emacs-devel@gnu.org; Fri, 29 Aug 2008 16:06:18 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KZAEa-0007fk-RG for emacs-devel@gnu.org; Fri, 29 Aug 2008 16:06:18 -0400 Original-Received: from [199.232.76.173] (port=44278 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KZAEa-0007fh-O6 for emacs-devel@gnu.org; Fri, 29 Aug 2008 16:06:16 -0400 Original-Received: from [151.61.142.42] (port=56150 helo=ambire.localdomain) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KZAEa-0002A7-6S for emacs-devel@gnu.org; Fri, 29 Aug 2008 16:06:16 -0400 Original-Received: from ttn by ambire.localdomain with local (Exim 4.63) (envelope-from ) id 1KZABS-0007sf-Rs; Fri, 29 Aug 2008 22:03:02 +0200 In-Reply-To: <48B84CA8.7080908@emf.net> (Thomas Lord's message of "Fri, 29 Aug 2008 12:23:20 -0700") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:103200 Archived-At: () Thomas Lord () Fri, 29 Aug 2008 12:23:20 -0700 it would be very nice, performance-wise and semantics-wise, to be able to address the database from lisp directly rather than going through the serialization bottleneck to a sub-process. I think you've got it backwards; in any system involving Emacs (of the current design), the serialization bottleneck is Emacs `eval'. In this light, a subprocess is actually the most clean and (more importantly) upwardly compatible way to scale performance. If we wish to augment this extremely clean model: (1a) emacs (1b) emacs------------emacs ; fork (1c) emacs--[serial]--subproc ; exec for performance purposes, then i suggest we concentrate on the data structure for sharing info between emacs and the subproc, rather than the control structure (i.e., dynamic loader). More precisely, i would like to see something like: (2a) emacs (2b) emacs--[sharable-buffer] ; "sweep-porch" (2c) emacs---[shared-buffer]---emacs ; "invite-kibitz" :-D The second emacs (from 2c) can mux traditional children (1b, 1c) as it sees fit, of course. In Unix, the data structure for sharing info is a shared buffer, but the protocol for manipulating that buffer is very limited. Lots of fun ensued, anyway. Emacs deserves no less. thi