From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Giuseppe Scrivano Newsgroups: gmane.emacs.devel Subject: Re: multi-threaded Emacs Date: Sun, 30 Nov 2008 23:25:12 +0100 Message-ID: <87oczw7sxj.fsf@master.homenet> References: <87abbiody1.fsf@master.homenet> <873ahant5l.fsf@master.homenet> <87bpvx5tw1.fsf@master.homenet> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1228083936 25526 80.91.229.12 (30 Nov 2008 22:25:36 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 30 Nov 2008 22:25:36 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Nov 30 23:26:39 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 1L6ukR-0007s3-MM for ged-emacs-devel@m.gmane.org; Sun, 30 Nov 2008 23:26:39 +0100 Original-Received: from localhost ([127.0.0.1]:58867 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L6ujH-0000v7-Ft for ged-emacs-devel@m.gmane.org; Sun, 30 Nov 2008 17:25:27 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L6ujC-0000v2-W7 for emacs-devel@gnu.org; Sun, 30 Nov 2008 17:25:23 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L6ujB-0000up-I9 for emacs-devel@gnu.org; Sun, 30 Nov 2008 17:25:22 -0500 Original-Received: from [199.232.76.173] (port=60581 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L6ujB-0000um-DY for emacs-devel@gnu.org; Sun, 30 Nov 2008 17:25:21 -0500 Original-Received: from averell.mail.tiscali.it ([213.205.33.55]:35691) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1L6ujA-00017M-UV for emacs-devel@gnu.org; Sun, 30 Nov 2008 17:25:21 -0500 Original-Received: from master.homenet (84.222.170.194) by averell.mail.tiscali.it (8.0.022) id 48F7489F01FCC215; Sun, 30 Nov 2008 23:25:19 +0100 Original-Received: from gscrivano by master.homenet with local (Exim 4.69) (envelope-from ) id 1L6uj2-0008DX-NW; Sun, 30 Nov 2008 23:25:12 +0100 In-Reply-To: (Stefan Monnier's message of "Sun, 30 Nov 2008 16:46:35 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) 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:106347 Archived-At: Stefan Monnier writes: > let-binding, of course. It's probably the only one that matters > (besides the internal ones like current_buffer). Isn't enough to have a separate `specpdl' for every thread? > That basically means adding lock&unlock around `symbol-value' and > pretty much every primitive. I expect this will take a significant > amount of work, will lead to a significant performance hit, and will not > expose much parallelism, if any. We can increase parallelism by adding different critical sections (but it will be more difficult to handle from Elisp). In any case I don't expect the code flow to stay long time in a critical section; mostly they are read/write to global variables that are done quickly. Giuseppe