From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?Bj=C3=B6rn?= Bidar Newsgroups: gmane.emacs.devel Subject: Re: Emacs design and architecture. How about copy-on-write? Date: Wed, 20 Sep 2023 00:37:23 +0300 Message-ID: <87led1n8to.fsf@thaodan.de> References: <83edizjn0v.fsf@gnu.org> <0518f65b-1dd1-6923-8497-da4d3aeac631@gutov.dev> <87sf7fc7kd.fsf@dataswamp.org> <834jjuk68t.fsf@gnu.org> <87cyyhc7uu.fsf@dataswamp.org> <83ttrsg9nx.fsf@gnu.org> <83h6nrg4eg.fsf@gnu.org> <83v8c7elan.fsf@gnu.org> <87h6nrwqvq.fsf@yahoo.com> <83msxjed5c.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10971"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Eli Zaretskii , acm@muc.de, incal@dataswamp.org, emacs-devel@gnu.org To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Sep 19 23:38:28 2023 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 1qiiQO-0002ix-Is for ged-emacs-devel@m.gmane-mx.org; Tue, 19 Sep 2023 23:38:28 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qiiPV-0006LB-IB; Tue, 19 Sep 2023 17:37:33 -0400 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 1qiiPS-0006L2-Ky for emacs-devel@gnu.org; Tue, 19 Sep 2023 17:37:31 -0400 Original-Received: from thaodan.de ([2a03:4000:4f:f15::1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qiiPP-0004Ep-NQ; Tue, 19 Sep 2023 17:37:30 -0400 Original-Received: from odin (dsl-trebng12-50dc77-87.dhcp.inet.fi [80.220.119.87]) by thaodan.de (Postfix) with ESMTPSA id 959F7D08DBC; Wed, 20 Sep 2023 00:37:24 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=thaodan.de; s=mail; t=1695159444; bh=mN0GuvzELp9ItR9/rTnRatMymrRMbqdFvn83PHSMiLw=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=GWS6DKpfSaZH8dry4It9CZYJwRvIor3EqqzBKaS5zV8R58657gUVFZtKSm2CR2C8e 0UJA8N+u53L3yi844jhvbk0zIvJ6vgH841WvFxo5R5YKCTFkuVt1cQrmWmNWeP8o8K pDJssDVfoRdOGJpjOg2cPdb4NOjWM2CSMrHH46DhbfZ5nSuTRPrLwoFChBdiWUuBcW bNb0QyyTIt+sGSeC77rDhQfpba02FTKyEzLgb9/hEXB75pIxgzOc5rfCRbdKoL75PJ ojkJDFSguL5L4EbznfKzoWXy3bICLwgI4STpCbq6GrMnXNCye2j1JxD+qCYG0t2w0e od0KJ655xtEmyLiu2d9NTrxblwQacoX+S0Rznj4Q18QXdXpKJTDG+pROlz3NEqR9S6 gOi9OWTm7irFdM7WgNSASFmIeNmRnC9fX2tD5xGRwaCUMS7BDQO8g4TidPYlFIKD6N Vjil2hbVgWPFLxHC/UtZCozqJ+XBcMfOpA8bBkEC9ldy+pP4tMuDHa5W2RMnSjnNb+ X4XmBsIpG+y8iUOP/lDgxPLmcqNHoI31tCDeITUua7nhxj8ZWNMh+9aqTbJ5vCudUB hIF/B7roYWwb8KEAFYISS9dvAjLjhTr/fxSvTkvLDZRfbEj9ISv4FiA0yOvjX0Ynkn juvr26brl6mSoAtzW0I2T6ZU= In-Reply-To: (Po Lu's message of "Tue, 19 Sep 2023 07:41:41 +0800") Autocrypt: addr=bjorn.bidar@thaodan.de; prefer-encrypt=nopreference; keydata= mDMEZNfpPhYJKwYBBAHaRw8BAQdACBEmr+0xwIIHZfIDlZmm7sa+lHHSb0g9FZrN6qE6ru60JUJq w7ZybiBCaWRhciA8Ympvcm4uYmlkYXJAdGhhb2Rhbi5kZT6IlgQTFgoAPgIbAwULCQgHAgIiAgYV CgkICwIEFgIDAQIeBwIXgBYhBFHxdut1RzAepymoq1wbdKFlHF9oBQJk1/YmAhkBAAoJEFwbdKFl HF9oB9cBAJoIIGQKXm4cpap+Flxc/EGnYl0123lcEyzuduqvlDT0AQC3OlFKm/OiqJ8IMTrzJRZ8 phFssTkSrrFXnM2jm5PYDoiTBBMWCgA7FiEEUfF263VHMB6nKairXBt0oWUcX2gFAmTX6T4CGwMF CwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQXBt0oWUcX2hbCQEAtru7kvM8hi8zo6z9ux2h K+B5xViKuo7Z8K3IXuK5ugwA+wUfKzomzdBPhfxDsqLcEziGRxoyx0Q3ld9aermBUccHtBxCasO2 cm4gQmlkYXIgPG1lQHRoYW9kYW4uZGU+iJMEExYKADsCGwMFCwkIBwICIgIGFQoJCAsCBBYCAwEC HgcCF4AWIQRR8XbrdUcwHqcpqKtcG3ShZRxfaAUCZNf2FQAKCRBcG3ShZRxfaCzSAP4hZ7cSp0YN XYpcjHdsySh2MuBhhoPeLGXs+2kSiqBiOwD/TP8AgPEg/R+SI9GI9on7fBJJ0mp2IT8kZ2rhDOjg gA6IkwQTFgoAOxYhBFHxdut1RzAepymoq1wbdKFlH Received-SPF: pass client-ip=2a03:4000:4f:f15::1; envelope-from=bjorn.bidar@thaodan.de; helo=thaodan.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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:310796 Archived-At: Po Lu writes: >> Useful stuff in Emacs almost always affects the display, so if a >> non-main threads cannot do that, they will be useless. Or what am I >> missing? > > Consider the case of Gnus or Eglot: it will enable either of them to > fetch news or receive LSP output from a second thread, decode it, and > subsequently transfer it to the main thread for display. Such expensive > processing is the reason people desire a multi-processing Emacs, because > it will facilitate efficiently running these operations in the > background and possibly on a different CPU. Magit is another example: A lot of modes are busy gathering data or search through data. If the operations can run in the background not blocking the main thread that runs the ui it would be to kill for (so to speak). Rendering the ui can take some time sometimes but not as often.