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.bugs Subject: bug#49127: Performance degradation in encode_coding_object Date: Wed, 18 Aug 2021 16:23:11 +0300 Message-ID: <83v94251kw.fsf@gnu.org> References: <83sfz970av.fsf@gnu.org> <4001E59F-63FF-4EF6-87B5-8A627871C4B8@acm.org> <83lf516x7o.fsf@gnu.org> <0FD46BCF-068E-4437-885A-D79F7ACD581F@acm.org> <837dgk6yic.fsf@gnu.org> <831r6s6u9u.fsf@gnu.org> <8CDC6E7F-73BF-4810-8218-04CD58316195@acm.org> <83wnok56vm.fsf@gnu.org> <83bl5v566t.fsf@gnu.org> <198FD972-CEBA-42FB-8FBB-4CAFA2BA1611@acm.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8619"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 49127@debbugs.gnu.org, victor.nawothnig@icloud.com To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Aug 18 15:24:13 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1mGLYD-00021A-6N for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 18 Aug 2021 15:24:13 +0200 Original-Received: from localhost ([::1]:57774 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mGLYB-0003Pe-GW for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 18 Aug 2021 09:24:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43230) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mGLY2-0003Ow-UN for bug-gnu-emacs@gnu.org; Wed, 18 Aug 2021 09:24:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:43706) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mGLY2-00053P-Nw for bug-gnu-emacs@gnu.org; Wed, 18 Aug 2021 09:24:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mGLY2-0006Oq-Gj for bug-gnu-emacs@gnu.org; Wed, 18 Aug 2021 09:24:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 18 Aug 2021 13:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49127 X-GNU-PR-Package: emacs Original-Received: via spool by 49127-submit@debbugs.gnu.org id=B49127.162929299824548 (code B ref 49127); Wed, 18 Aug 2021 13:24:02 +0000 Original-Received: (at 49127) by debbugs.gnu.org; 18 Aug 2021 13:23:18 +0000 Original-Received: from localhost ([127.0.0.1]:55252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mGLXK-0006Ns-8c for submit@debbugs.gnu.org; Wed, 18 Aug 2021 09:23:18 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:54792) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mGLXI-0006Ne-GC for 49127@debbugs.gnu.org; Wed, 18 Aug 2021 09:23:16 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:46792) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mGLXD-0004dg-0K; Wed, 18 Aug 2021 09:23:11 -0400 Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1186 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mGLXB-0002tW-Qj; Wed, 18 Aug 2021 09:23:10 -0400 In-Reply-To: <198FD972-CEBA-42FB-8FBB-4CAFA2BA1611@acm.org> (message from Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= on Wed, 18 Aug 2021 14:21:22 +0200) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:212136 Archived-At: > From: Mattias EngdegÄrd > Date: Wed, 18 Aug 2021 14:21:22 +0200 > Cc: victor.nawothnig@icloud.com, 49127@debbugs.gnu.org > > > They could have used text properties instead, no? > > Yes and no. That works for the direction from a point in the buffer but not the other way: go to a specific place in the buffer, such as a definition or all references of something. It could be something selected from a tree in the sidebar etc or be implicit (as in "go to the superclass of the class at point"). Text property search doesn't fit the bill? > Emacs isn't badly designed -- the marker implementation is fine if we assume there are only a few of them per buffer, which is mostly the case. But it isn't scalable, and also adversely affected by large amounts of garbage markers. These situations usually mean we lack some infrastructure, and the Lisp program uses what's available, with bad results. A better solution is to design and implement the missing infrastructure instead. The problem with Emacs is not the design, it's that in many cases, instead of extending the design where something is missing, Lisp programmers tend to use the existing features outside of their intended purpose. IOW, our design is not evolving enough according to the needs, not in a small measure because those needs are not always communicated to us.