From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Info: No GIL Multithreading strat for Python Date: Sun, 03 Mar 2024 21:32:28 +0200 Message-ID: <86zfvfm7qr.fsf@gnu.org> References: <86bk7vnwbi.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18501"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Arthur Miller Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Mar 03 20:33:13 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rgraC-0004Y9-UM for ged-emacs-devel@m.gmane-mx.org; Sun, 03 Mar 2024 20:33:13 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rgrZa-0006CJ-0U; Sun, 03 Mar 2024 14:32:34 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rgrZY-0006Bz-KJ for emacs-devel@gnu.org; Sun, 03 Mar 2024 14:32:32 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rgrZX-0003v4-JQ; Sun, 03 Mar 2024 14:32:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=uHcnctTKBPTyhltYtqEb5jp6Mh6vo5RmFBz8fPWn2UI=; b=LYQk00e3Xp6V mvqSjrng11oEYUp6C2AIEG34c8otWWMFSAnwZLgV0e6v2o81UzzB5RskmYxoX7rk00TQjSUEGlYrX bpry1yQqFpyIQrbtdxOy2Qs7L7X/MiIPouYN7gHfCqud5WRBIHWd57bvrk7vvL4JJLZ+DsT6Fj0Ts lxv5OpkMMVEVCe8aIPqg6mmpu921SYPXcBYWWG07LzM+laFO+RA12vs1JwKbzPo8YVR7BuNEjOupc sOPSeS2zXDIcCANmRJ9DA9rr6x5yDv3sZNMvl4Xple/tAIQYtxpb+NuCivDyqNDZU/LMekJeWmoX9 0kcg5Ueo3L2AoP2J8g20ZA==; In-Reply-To: (message from Arthur Miller on Sun, 03 Mar 2024 20:01:06 +0100) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:316770 Archived-At: > From: Arthur Miller > Cc: emacs-devel@gnu.org > Date: Sun, 03 Mar 2024 20:01:06 +0100 > > > Python is a programming language, where the programmers are > > responsible for what the parallel programs they write do and how do > > they cope with the various dangers of concurrency. If the program > > crashes, the programmer has only him/herself to blame. > > I am not sure what you are trying to say? Just what I said: that problems with implementing concurrency in Emacs are not problems of the Emacs Lisp programming language. So they cannot be solved solely by changing the language. > Anyway; Python Intepretter and Emacs are not the same, but there are some > important similarities and similar problems. What they are talking there might > be an interesting multithreading strategy for Emacs as well. They have similar > problem with the shared state. No, the problems in Emacs are much harder, because the shared state exists independently of the programs written in Emacs Lisp, and because the way we write Emacs Lisp programs basically _requires_ the shared state to exist. > > By contrast, Emacs is a program that lets users process text in > > various scenarios, where users expect Emacs to react gracefully to > > errors. Emacs the program has a very large global state that doesn't > > work well with any concurrency, and which any programmer will keep as > > Yes, we all know that, and that is what that presentation was about; that is why > I have hinted abou it. Yes, we all know what you wanted to say. And that is why I wrote the response: to point out an important caveat. So that people would keep that in mind when they watch.