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: Thu, 21 Sep 2023 08:41:29 +0800 Message-ID: References: <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> <87sf79rq5o.fsf@yahoo.com> <83fs38c2yv.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="5936"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: dmitry@gutov.dev, 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 Thu Sep 21 02:42:19 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 1qj7lq-0001K3-At for ged-emacs-devel@m.gmane-mx.org; Thu, 21 Sep 2023 02:42:18 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qj7lX-0000f7-70; Wed, 20 Sep 2023 20:41:59 -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 1qj7lU-0000en-Qs for emacs-devel@gnu.org; Wed, 20 Sep 2023 20:41:56 -0400 Original-Received: from sonic306-22.consmr.mail.ne1.yahoo.com ([66.163.189.84]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qj7lS-0005wV-NZ for emacs-devel@gnu.org; Wed, 20 Sep 2023 20:41:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1695256911; bh=/rJTjeP8XUVDYJSqwtTW4F8+UYwxz3eU3ooLy65lJXA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=gyGKDwhWmTdz1LeAmT4PudmdP6kc1rfSDuOOQAWJnNUtbpLx43MctVArfs9n2x64R6ifd4ooFh6jp12xzs5J60RnYdoWolxI8eH4BoMFBoar+ATkEMurIlCRpOC0D/ESEAMnw+Whog+PGRL26vTJXWJpokpWlyVP5kpcetkamuBE1R+qFUfhxPd68T/6wjpXExVdyOFddmzKlE2zeMlvZ0kddqI18uQZXqrO1xy9O5BzX3vN/Bbmg2eH0t7sL7l1CgpsUdAsOWqXBjmdMCCRqkD9bOv0MH9pqk0Y4LPEC6e74MaljkBrYubwEJ7XgGNL19kskRb0yI92lcc5xGUtKA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1695256911; bh=RzY+RWQdclG5JWOvbu7bPmZ4rOnuf+QgzLeAPh7xYu7=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=RP48hTRl6auXIKqYEKMRhZ0N57vzoI3V/XT4/sB4MLgeaADICnJuVDzjARlqIPzPcqh9hF0veny3VafYsv91AuCT1+m016fztOEMJ3YBk5SFNpAxti+3v2m9oq7C5igPif/MBzb0fYYbJuIn1o/MVJJ5uBAaWflOvjRSgp9EYgqgGlKUr7tyK5lvRkqsO+t2DznWRHH5+jVNOnQreEn5AcNwKcZ8MmJio7G+wOKZ1Ovy/jrM4uQQ/trI5Jto8njI3W4EGJib7DN2QoVGXWsvchq5OJLosbTLLW6aRXHPpZcMZBOOzSMgxbW8RlUdwV0/ulw8SQvfP8s2Asq5pH4Blg== X-YMail-OSG: C6r2gdIVM1mhg6Q30xZppJl55_VSYqM8ZDyKMRmZrmqW.pVzy95D6bNnFXccQwf v2UFfbwRLbv3kM9Em3er11T0Xuryd_auW5_1KBSaJ.fBOc8SskAgatcngyI6l9wN6vTpbAm9SBIR euuHYAz89SXjH.RfDOLQcfDV.pAWhyTagmvt2_ULyGazCl4qVLRr0EyOLLyflbJohz1dqmGhzneq .OwHFglyOgM1gZ6YUHICuwz645VGGclNT6Q4teQxQJgnGz_Ry0RoTLo32cpW.n7v.YHHsfcLXtH0 dK3vkBOMvK9UOSqGjzq_b1dvM99LIXkl9LSrrrQplz.dRmbM71eWUJDhpxZQNVsOFSuSLGcQe.0j 4ATcPADI8U0azF7lJWk2JavejlZPkQ2DforU6BKSsxyaDrn64k4zhklQ_1di55u.z4ZnF1gDtKaE qRT38Tf.HcH9LI3EC06uPEFBtWgXl_RQ3.2Rxr0Th2XqLp1FHl19wuOGwaru692JZj0lzMX_xnuw 5qVdfbg0dv9G7FI356lSAa_3Se8ytXxU61p75mKo7SrtQPyJTA_76SCo33pxA.kSoe5fnI3YxMX8 uOdpcbaibdyoF9V0WfdnEDf3gG._nTuPosmZMTaNpEvYaRGFbdupxG_6QC6rKSCm2rNrpEOKNJJP ZoHw2d6.l9qp5EF6jtxCA9GsIl93E5Y3K2HTQ4yoT8fSJ9ixOsg1JWMtsJ7apLVzAk.ZlT6xkqz8 iGswG21CSe9Z.cgXZw.OBwZ0HMSVKCwHc_Xj82LrVi.0ottFJ5zt8dFn5yxYHuCM4N2oXiteK1KN nQGPP6vpqGrGLTyfG5xw9rg3gPCtI7aczPe5XDaDZF X-Sonic-MF: X-Sonic-ID: bd373097-6467-4cef-8998-1334482a3e25 Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.ne1.yahoo.com with HTTP; Thu, 21 Sep 2023 00:41:51 +0000 Original-Received: by hermes--production-sg3-55c667b499-jt2w5 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 507b1cf78da3cc47062d773e194a12ac; Thu, 21 Sep 2023 00:41:48 +0000 (UTC) In-Reply-To: <83fs38c2yv.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 20 Sep 2023 17:51:36 +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.84; envelope-from=luangruo@yahoo.com; helo=sonic306-22.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=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:310856 Archived-At: Eli Zaretskii writes: > This sounds as if you are talking about something other than Emacs, > really. Try running some day with all the redisplay optimizations > turned off and with enough windows/frames visible, and you will see > how far we are from 60 fps goal. There's a lot of room for > improvement even without being a video game, just an editor. We don't have a "60FPS goal." "Frames per second" is a metric that applies to programs which are perpetually redrawing their windows, either as fast as the monitor refreshes or as fast as the CPU permits. I don't type 60 characters per second -- so there is no reason for Emacs to display at 60 frames per second. If you open the GUI inspector tool of any Gtk+ program, then enable its "frames per second" counter, you will quickly recognize that a GUI program such as a text editor seldom, if ever, redraws itself at such a rate. > Or visit Reddit and see how many users complain that Emacs is slower > in displaying stuff than, say, VSCode. I seriously doubt redisplay performance is the cause of their plights. It's much more likely to be GC, slow fontification code, or post command hooks, all three of which present with near identical symptoms. There's also the old experiment where Eric Naggum disabled garbage collection messages, yielding a visible speedup.