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?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: How to add pseudo vector types Date: Sat, 24 Jul 2021 05:39:09 +0200 Message-ID: <87wnpggz36.fsf@telefonica.net> References: <83h7gw6pyj.fsf@gnu.org> <45EBF16A-C953-42C7-97D1-3A2BFEF7DD01@gmail.com> <83y2a764oy.fsf@gnu.org> <83v95b60fn.fsf@gnu.org> <00DD5BFE-D14E-449A-9319-E7B725DEBFB3@gmail.com> <83r1fz5xr9.fsf@gnu.org> <1AAB1BCC-362B-4249-B785-4E0530E15C60@gmail.com> <83czri67h0.fsf@gnu.org> <46BBFF88-76C3-4818-8805-5437409BEA93@gmail.com> <83wnpq46uk.fsf@gnu.org> <533BD53B-4E85-4E9E-B46A-346A5BBAD0F5@gmail.com> <258CB68D-1CC1-42C8-BDCD-2A8A8099B783@gmail.com> <1a776770-50b7-93cd-6591-c9a5b3a56eb8@gmail.com> <83lf654dhk.fsf@gnu.org> <2524265f-60c7-24f5-b9f4-98447c91acab@gmail.com> <86o8av4olc.fsf@stephe-leake.org> <976cd611-52b3-5280-263e-ab8e3db8a355@gmail.com> <83k0lj4fml.fsf@gnu.org> <86a6mca06b.fsf@stephe-leake.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="33897"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: emacs-devel@gnu.org Cancel-Lock: sha1:sgkRDPPpslmL1dQeocv9JbW0itc= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Jul 24 05:39:58 2021 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 1m78W6-0008am-0W for ged-emacs-devel@m.gmane-mx.org; Sat, 24 Jul 2021 05:39:58 +0200 Original-Received: from localhost ([::1]:48538 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m78W5-00048k-2n for ged-emacs-devel@m.gmane-mx.org; Fri, 23 Jul 2021 23:39:57 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34510) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m78Va-0003Su-1j for emacs-devel@gnu.org; Fri, 23 Jul 2021 23:39:26 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:54876) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m78VY-0007oF-Dv for emacs-devel@gnu.org; Fri, 23 Jul 2021 23:39:25 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1m78VV-0007xG-5O for emacs-devel@gnu.org; Sat, 24 Jul 2021 05:39:21 +0200 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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" Xref: news.gmane.io gmane.emacs.devel:271520 Archived-At: Stephen Leake writes: > 39 milliseconds for re-indent is just slow enough to be noticeable; I still > have algorithms to convert to be as incremental as possible. [snip] > In a very small file: > > initial 0.000632 seconds > re-indent 0.000942 seconds > > Easily fast enough to keep up with the user. Doing work every time the user changes the file is not always a good thing. Nowadays the user doesn't just expect automatic indentation, he wants code formatting too, which means splitting, fusing and inserting lines, plus moving chunks of code left and right. Doing that every time a character is added or deleted can be visually confusing due to chunks of text changing positions as you type, so the systems I know are triggered by certain events (like the insertion of characters that mark the end of statements). Then they analyze the code and, if it is well formed, apply the reformatting. Something similar could be said about fontification and other tasks. In my experience, delays of 0.1 seconds are perfectly acceptable with this method. So I'll insist on not obsessing too much about performance. Implement something simple, see if it is usable. If not, invest effort on optimizations until it is good enough.