From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu Newsgroups: gmane.emacs.devel Subject: Re: Emacs design and architecture. How about copy-on-write? Date: Wed, 20 Sep 2023 20:21:39 +0800 Message-ID: <87sf79rq5o.fsf@yahoo.com> References: <87cyyhc7uu.fsf@dataswamp.org> <83ttrsg9nx.fsf@gnu.org> <83h6nrg4eg.fsf@gnu.org> <83v8c7elan.fsf@gnu.org> <877conk5ny.fsf@localhost> <83ttrreeu0.fsf@gnu.org> <87bkdzeas1.fsf@localhost> <83cyyfe5l8.fsf@gnu.org> <87led2o0nb.fsf@localhost> <83ttrqcpfb.fsf@gnu.org> <877comnv4a.fsf@localhost> <83fs3ackrq.fsf@gnu.org> <99e84ae7-b3aa-a009-5cb8-a75826343196@gutov.dev> <838r92cgxp.fsf@gnu.org> <837comcam8.fsf@gnu.org> <6946e6f0-c6ef-186c-35d4-c09935c05a07@gutov.dev> <83y1h1axtq.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="23688"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Dmitry Gutov , yantar92@posteo.net, acm@muc.de, incal@dataswamp.org, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Sep 20 14:22:46 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 1qiwE8-0005ui-T2 for ged-emacs-devel@m.gmane-mx.org; Wed, 20 Sep 2023 14:22:44 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qiwDL-0007QW-Ox; Wed, 20 Sep 2023 08:21:55 -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 1qiwDJ-0007Q0-Ip for emacs-devel@gnu.org; Wed, 20 Sep 2023 08:21:54 -0400 Original-Received: from sonic306-20.consmr.mail.ne1.yahoo.com ([66.163.189.82]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qiwDH-0006u8-Ll for emacs-devel@gnu.org; Wed, 20 Sep 2023 08:21:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1695212509; bh=+aaDuHC1taYbBus+KOL7zFkI5FVpYVXwJ+hx5p7x+q4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=CF1yGHrKnSBHOrAIqH6Z8zXROZ6CPSfkVgdoqwESPrzZvnjOB/nsXjORoZNAuTltzwWVVFJI34WGe/AY0DxQp4ovt6r2FNyRMK05WS97Ayvwakeo78ORdsyjS2erQVsXS08F+5rliDauws8qoWadtYNZOF5P3kGDDrCazJ7MDB4gIssXChErImnn3WkpscfiFXUai3GI4MnfIhf+s3BTP6iJ+bxiyDO/SGleJzvlELRXFxJG7yw2QT18NWvsItrB3EDjr66tLemF0ShDOQHjto1fNd+L3GHxuWolExbYUoSlNi4XONibBK5XjfuYgczw02UmPomimGPePZMNomddxg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1695212509; bh=pl7UOtUwv2r/hshqtfdA4GyM9xdAEH38/efSG9BRtCN=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=kSHR+9mPXEb/SOy2kkr9XFHhzBPJBMUND4AKBNwb2GH35XD4y4Pq3rNIaBznq1JIfyfpdwhsY9TmL0jYY1Wcnvszba7/7ZETHJ9D/a7tjtrpOTVRfYub0XRAWqAD5tqXM0aXimqM/Uu/pDmK66zLtdu0WPD8GlAl7exeBMCn7WYIxdNKBif21LzYT/wVwvhVuSjbZnBkDTSNWvuNr0i6WlWLPHVV1NB48viZurQsF0PA17erkML6rTrAB3o/agj6iBvJmknTzA5SHNZi+M1cn4adokMAVXd1qP7V6zt8/4ZSrNXCk8o5uPYe7Xaqx8DHkx2EzbD5yRwpXTzBRn85kQ== X-YMail-OSG: A.lmy3wVM1nZP.JiF5VSL5ZfTFbEVx48CyRgqKLY6zb1Wv2AS7msGGdABAbKXbX N9LKm3Hosw6ecxtz6iYe65EUvXWubsvAV6Id5TcQvc.Cxn6_5G7lPayM.9VV0C.Esz7JnGm6y9Vl cgZudBd2bsV3oydY8bW.z06qX2bKSzVC7yaY_4RHg94U4Wjrk9lhpzuC7Sclv.zkjBbRWcMzYyTp 0UVwXr3T0bcW791qEeBZln.LU7xPGag6dLvm79mNEqh_eXZy_tS4Ykm4JLdu74.pj4aWLC5XfBmM ksPWFmBQD9kEv1NXKFrBR43IRC4upXc0KA.RUW9lhHVjG6L2BqahGTWZ.M6J7S5FmIkhWEqnJrce PUxGSsdptgFrR4jkezCYXVxr0xWAtEAGpRyxRLhm21x5zxE1knmdNnjdUPtUStUAvd2yykq5ZuSC lbZhXGLP.dGWMxOM15hvtFxHkfws5b4WHdZOiWi0_9f05ZwR.hWLEwsES5zVSNWTD9G5SjAcw0Ur 5EU4tuZCheRCGpUussnzygiknNNGtlnkL7IlMR92skyJ4e5Jm2Dtge_hKB363bhO2tVlSeJy5ulE O.BfaEm6IORoYkEUm50I1KpFoGm4IhEiKufGbadI3rnT2IBlnfD1xrVCg8pdnltFylzXY9ptxFpk _2KDMGwrsrkN56TBh0fNOKCqpQlHj3KoFvtnVXh46W7I_QPdPmx6P.urogrLX_syUnYmy_nhMZMj _i2eV4JGyhLOzHAwopm2OaBHCvqDhOAGcAiGcO5HsK__TpeIl3OJKapDUcBRKp0b4uw63ZOhSzLa yQoGpO1rD4eLGhhPPRxpwcJ2eGTa1qLwW66BOoxdM4 X-Sonic-MF: X-Sonic-ID: 28597921-95be-4715-9f56-bc02c4a3e1c9 Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.ne1.yahoo.com with HTTP; Wed, 20 Sep 2023 12:21:49 +0000 Original-Received: by hermes--production-sg3-55c667b499-mbg4m (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID fcfe5f7fe735383e93879a1dc690a952; Wed, 20 Sep 2023 12:21:45 +0000 (UTC) In-Reply-To: <83y1h1axtq.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 20 Sep 2023 14:28:01 +0300") X-Mailer: WebService/1.1.21797 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=66.163.189.82; envelope-from=luangruo@yahoo.com; helo=sonic306-20.consmr.mail.ne1.yahoo.com 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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:310830 Archived-At: Eli Zaretskii writes: > On the high-level design level, it should be clear without any need > for benchmarking that separating redisplay from the main thread could > bring benefits. Isn't that what every GUI application out there does? > So trying to think about that is always a good thing, IMO. Au contraire, almost all GUI program limit redisplay to their main threads. Emacs is not a video game, for which the touchstone of performance is a measurement taken in ``frames-per-second''. It is a text editor that only updates the display subsequent to an editing operation. That is, unless you perform more than 60 edits per second and expect an intervening redisplay after each edit. Benchmarking redisplay with such measurements is an exercise in fatuity.