From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Kang Niu Newsgroups: gmane.emacs.bugs Subject: bug#52593: 28.0.90; (thing-at-point thing) has so much overhead since commit 7db376e560448e61485ba054def8c82b21f33d6a Date: Sun, 19 Dec 2021 23:19:53 +0800 Message-ID: References: <83zgoybbfr.fsf@gnu.org> <83ee689156.fsf@gnu.org> <878rwgra3k.fsf@gnus.org> <87h7b4u01e.fsf@gnus.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="00000000000088cc6505d3814e7d" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29871"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 52593@debbugs.gnu.org To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Dec 19 16:21:10 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 1myxzq-0007Zz-99 for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 19 Dec 2021 16:21:10 +0100 Original-Received: from localhost ([::1]:47624 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1myxzo-0003oA-SB for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 19 Dec 2021 10:21:08 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:43064) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1myxzi-0003nz-8x for bug-gnu-emacs@gnu.org; Sun, 19 Dec 2021 10:21:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:36189) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1myxzi-0007xn-0s for bug-gnu-emacs@gnu.org; Sun, 19 Dec 2021 10:21:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1myxzh-0005tT-Tt for bug-gnu-emacs@gnu.org; Sun, 19 Dec 2021 10:21:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Kang Niu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 19 Dec 2021 15:21:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52593 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch moreinfo Original-Received: via spool by 52593-submit@debbugs.gnu.org id=B52593.163992721322570 (code B ref 52593); Sun, 19 Dec 2021 15:21:01 +0000 Original-Received: (at 52593) by debbugs.gnu.org; 19 Dec 2021 15:20:13 +0000 Original-Received: from localhost ([127.0.0.1]:47735 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myxyu-0005ry-Jw for submit@debbugs.gnu.org; Sun, 19 Dec 2021 10:20:12 -0500 Original-Received: from mail-yb1-f174.google.com ([209.85.219.174]:36455) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1myxys-0005rf-QP for 52593@debbugs.gnu.org; Sun, 19 Dec 2021 10:20:11 -0500 Original-Received: by mail-yb1-f174.google.com with SMTP id d10so21394648ybe.3 for <52593@debbugs.gnu.org>; Sun, 19 Dec 2021 07:20:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=GhVv4q9wU39O3CPoaXsAGwNyCtFLRdIKsaj8mLjwAZ8=; b=mXEqGvjC3ZHkTRZ6SQfSkF7i43uPptSAecMrhNQa/c525usf5K1yf2V1tds4La+YZK V9OqY3QR6xy53iLmxDeD2gjWshcbsxGYj1V2lSmBN/fzd+kIlMvvD9nK4+Lm8X0lw4gs K63cjTpoZWJcoc/fui+nAvslzXJcO4HhYRvWk11CYor5C4JNJIRlsA1GGJATKxAtmZKO JSj27AWelhlm+JwTixT/HX8YbNc/HP/eLnTT3d0yjBnzljSfF0IsxOs6cbc6oSApTpSC fMZfy+Dz3oQL2daQKK3+rzSg3XzElf5GNaSKgZqPnlMc/xZHzipVy7DOoF2HBXmvPsAq lJHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=GhVv4q9wU39O3CPoaXsAGwNyCtFLRdIKsaj8mLjwAZ8=; b=nEucMpm8JGp7C82poVqupmYR3s9loAHtHXWQ11NTpaxlFxOb2NiGETeFINfQakxrNq rvojPtpQzMF2e8zK9uXrVuUSY935HNixbwEVE4a2TKY1Fba8R2HlXFjr0qbxqZU+/WZW XZpYQHi2zXeh+oDMahI0LAhalE+Nn4VspCHSS42If6yMT4wtMHNhaODQqaxO+7CLKbZz bBSEu4nC0XhwaV3+gRGlhBc9k9z/LnVZJZcLZNPRiqZSsWgE4HqzXxqx6sKovTOZ74MT MniVfmTTTsw+sqUwRjgvoslTZMHxFyfydX+cRqy3HZcOnU0T8XlU5OJWsxxgfaRjylDL LxkA== X-Gm-Message-State: AOAM530wRrMEyOSp6ca+kQO+kp3W4qsoS1DW7pkLWgo71s3ueUOKxjzM FdACf8Ov8iuRJ8rKZxlIWTOirbIeurzQku9I03E= X-Google-Smtp-Source: ABdhPJydW71PzXnHdFuhFYNHlXWIN9nRImjRpqupK8NHTrGqeOeDivHtX7T8f55cUB1ZZhayYRs+3/btSRx5hkjA5mo= X-Received: by 2002:a05:6902:4e7:: with SMTP id w7mr17547096ybs.77.1639927205382; Sun, 19 Dec 2021 07:20:05 -0800 (PST) In-Reply-To: <87h7b4u01e.fsf@gnus.org> 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:222699 Archived-At: --00000000000088cc6505d3814e7d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Seems now the let clause undertake the overhead: Samples % Function 7230 77% - symbol-overlay-post-command 7227 77% - if 7183 77% - string=3D 7180 77% - symbol-overlay-get-symbol 7180 77% - or 7176 77% - thing-at-point 7163 77% - save-restriction 7138 76% - let 221 2% - cond 206 2% + let 2 0% let* 7 0% + if 40 0% + symbol-overlay-remove-temp 1234 13% - command-execute 1215 13% - call-interactively 1205 12% - funcall-interactively 783 8% + next-line 415 4% + previous-line 7 0% + execute-extended-command 3 0% + byte-code 358 3% + ... 255 2% + redisplay_internal (C function) 156 1% + timer-event-handler 25 0% + undo-auto--add-boundary 18 0% + jit-lock--antiblink-post-command 17 0% + internal-timer-start-idle 8 0% + clear-minibuffer-message Lars Ingebrigtsen =E4=BA=8E2021=E5=B9=B412=E6=9C=8819=E6= =97=A5=E5=91=A8=E6=97=A5 22:44=E5=86=99=E9=81=93=EF=BC=9A > Kang Niu writes: > > > There are no fields in the buffer. (field-beginning) (field-end) return > the same value > > as (point-min) (point-max). > > Odd. Does the following fix the performance problem? I'm wondering > whether it's the field functions that are slow or whether the > narrow-to-region is the thing that somehow triggers the slowness. > > diff --git a/lisp/thingatpt.el b/lisp/thingatpt.el > index 2d1bf2013e..e746d94080 100644 > --- a/lisp/thingatpt.el > +++ b/lisp/thingatpt.el > @@ -178,7 +178,11 @@ thing-at-point > See the file `thingatpt.el' for documentation on how to define > a symbol as a valid THING." > (save-restriction > - (narrow-to-region (field-beginning) (field-end)) > + (let ((beg (field-beginning)) > + (end (field-end))) > + (when (or (not (=3D beg (point-min))) > + (not (=3D end (point-max)))) > + (narrow-to-region (field-beginning) (field-end)))) > (let ((text > (cond > ((cl-loop for (pthing . function) in > thing-at-point-provider-alist > > > -- > (domestic pets only, the antidote for overdose, milk.) > bloggy blog: http://lars.ingebrigtsen.no > --00000000000088cc6505d3814e7d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdj5TZWVtcyBub3cgdGhlIGxldCBjbGF1c2UgdW5kZXJ0YWtlIHRo ZSBvdmVyaGVhZDo8L2Rpdj7CoCDCoCDCoFNhbXBsZXMgwqAgwqAlIMKgIEZ1bmN0aW9uIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPGJy PsKgIMKgIMKgIMKgIDcyMzAgwqA3NyUgLSBzeW1ib2wtb3ZlcmxheS1wb3N0LWNvbW1hbmQ8YnI+ wqAgwqAgwqAgwqAgNzIyNyDCoDc3JSDCoC0gaWY8YnI+wqAgwqAgwqAgwqAgNzE4MyDCoDc3JSDC oCAtIHN0cmluZz08YnI+wqAgwqAgwqAgwqAgNzE4MCDCoDc3JSDCoCDCoC0gc3ltYm9sLW92ZXJs YXktZ2V0LXN5bWJvbDxicj7CoCDCoCDCoCDCoCA3MTgwIMKgNzclIMKgIMKgIC0gb3I8YnI+wqAg wqAgwqAgwqAgNzE3NiDCoDc3JSDCoCDCoCDCoC0gdGhpbmctYXQtcG9pbnQ8YnI+wqAgwqAgwqAg wqAgNzE2MyDCoDc3JSDCoCDCoCDCoCAtIHNhdmUtcmVzdHJpY3Rpb248YnI+wqAgwqAgwqAgwqAg NzEzOCDCoDc2JSDCoCDCoCDCoCDCoC0gbGV0PGJyPsKgIMKgIMKgIMKgIMKgMjIxIMKgIDIlIMKg IMKgIMKgIMKgIC0gY29uZDxicj7CoCDCoCDCoCDCoCDCoDIwNiDCoCAyJSDCoCDCoCDCoCDCoCDC oCsgbGV0PGJyPsKgIMKgIMKgIMKgIMKgIMKgMiDCoCAwJSDCoCDCoCDCoCDCoCDCoCDCoGxldCo8 YnI+wqAgwqAgwqAgwqAgwqAgwqA3IMKgIDAlIMKgIMKgIMKgIMKgICsgaWY8YnI+wqAgwqAgwqAg wqAgwqAgNDAgwqAgMCUgwqAgKyBzeW1ib2wtb3ZlcmxheS1yZW1vdmUtdGVtcDxicj7CoCDCoCDC oCDCoCAxMjM0IMKgMTMlIC0gY29tbWFuZC1leGVjdXRlPGJyPsKgIMKgIMKgIMKgIDEyMTUgwqAx MyUgwqAtIGNhbGwtaW50ZXJhY3RpdmVseTxicj7CoCDCoCDCoCDCoCAxMjA1IMKgMTIlIMKgIC0g ZnVuY2FsbC1pbnRlcmFjdGl2ZWx5PGJyPsKgIMKgIMKgIMKgIMKgNzgzIMKgIDglIMKgIMKgKyBu ZXh0LWxpbmU8YnI+wqAgwqAgwqAgwqAgwqA0MTUgwqAgNCUgwqAgwqArIHByZXZpb3VzLWxpbmU8 YnI+wqAgwqAgwqAgwqAgwqAgwqA3IMKgIDAlIMKgIMKgKyBleGVjdXRlLWV4dGVuZGVkLWNvbW1h bmQ8YnI+wqAgwqAgwqAgwqAgwqAgwqAzIMKgIDAlIMKgICsgYnl0ZS1jb2RlPGJyPsKgIMKgIMKg IMKgIMKgMzU4IMKgIDMlICsgLi4uPGJyPsKgIMKgIMKgIMKgIMKgMjU1IMKgIDIlICsgcmVkaXNw bGF5X2ludGVybmFsIChDIGZ1bmN0aW9uKTxicj7CoCDCoCDCoCDCoCDCoDE1NiDCoCAxJSArIHRp bWVyLWV2ZW50LWhhbmRsZXI8YnI+wqAgwqAgwqAgwqAgwqAgMjUgwqAgMCUgKyB1bmRvLWF1dG8t LWFkZC1ib3VuZGFyeTxicj7CoCDCoCDCoCDCoCDCoCAxOCDCoCAwJSArIGppdC1sb2NrLS1hbnRp YmxpbmstcG9zdC1jb21tYW5kPGJyPsKgIMKgIMKgIMKgIMKgIDE3IMKgIDAlICsgaW50ZXJuYWwt dGltZXItc3RhcnQtaWRsZTxicj7CoCDCoCDCoCDCoCDCoCDCoDggwqAgMCUgKyBjbGVhci1taW5p YnVmZmVyLW1lc3NhZ2U8YnI+PC9kaXY+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48ZGl2 IGRpcj0ibHRyIiBjbGFzcz0iZ21haWxfYXR0ciI+TGFycyBJbmdlYnJpZ3RzZW4gJmx0OzxhIGhy ZWY9Im1haWx0bzpsYXJzaUBnbnVzLm9yZyI+bGFyc2lAZ251cy5vcmc8L2E+Jmd0OyDkuo4yMDIx 5bm0MTLmnIgxOeaXpeWRqOaXpSAyMjo0NOWGmemBk++8mjxicj48L2Rpdj48YmxvY2txdW90ZSBj bGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVy LWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+S2FuZyBO aXUgJmx0OzxhIGhyZWY9Im1haWx0bzppc2duaXVrQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsi PmlzZ25pdWtAZ21haWwuY29tPC9hPiZndDsgd3JpdGVzOjxicj4NCjxicj4NCiZndDsgVGhlcmUg YXJlIG5vIGZpZWxkcyBpbiB0aGUgYnVmZmVyLiAoZmllbGQtYmVnaW5uaW5nKSAoZmllbGQtZW5k KSByZXR1cm4gdGhlIHNhbWUgdmFsdWU8YnI+DQomZ3Q7IGFzIChwb2ludC1taW4pIChwb2ludC1t YXgpLjxicj4NCjxicj4NCk9kZC7CoCBEb2VzIHRoZSBmb2xsb3dpbmcgZml4IHRoZSBwZXJmb3Jt YW5jZSBwcm9ibGVtP8KgIEkmIzM5O20gd29uZGVyaW5nPGJyPg0Kd2hldGhlciBpdCYjMzk7cyB0 aGUgZmllbGQgZnVuY3Rpb25zIHRoYXQgYXJlIHNsb3cgb3Igd2hldGhlciB0aGU8YnI+DQpuYXJy b3ctdG8tcmVnaW9uIGlzIHRoZSB0aGluZyB0aGF0IHNvbWVob3cgdHJpZ2dlcnMgdGhlIHNsb3du ZXNzLjxicj4NCjxicj4NCmRpZmYgLS1naXQgYS9saXNwL3RoaW5nYXRwdC5lbCBiL2xpc3AvdGhp bmdhdHB0LmVsPGJyPg0KaW5kZXggMmQxYmYyMDEzZS4uZTc0NmQ5NDA4MCAxMDA2NDQ8YnI+DQot LS0gYS9saXNwL3RoaW5nYXRwdC5lbDxicj4NCisrKyBiL2xpc3AvdGhpbmdhdHB0LmVsPGJyPg0K QEAgLTE3OCw3ICsxNzgsMTEgQEAgdGhpbmctYXQtcG9pbnQ8YnI+DQrCoFNlZSB0aGUgZmlsZSBg dGhpbmdhdHB0LmVsJiMzOTsgZm9yIGRvY3VtZW50YXRpb24gb24gaG93IHRvIGRlZmluZTxicj4N CsKgYSBzeW1ib2wgYXMgYSB2YWxpZCBUSElORy4mcXVvdDs8YnI+DQrCoCDCoChzYXZlLXJlc3Ry aWN0aW9uPGJyPg0KLcKgIMKgIChuYXJyb3ctdG8tcmVnaW9uIChmaWVsZC1iZWdpbm5pbmcpIChm aWVsZC1lbmQpKTxicj4NCivCoCDCoCAobGV0ICgoYmVnIChmaWVsZC1iZWdpbm5pbmcpKTxicj4N CivCoCDCoCDCoCDCoCDCoCAoZW5kIChmaWVsZC1lbmQpKSk8YnI+DQorwqAgwqAgwqAgKHdoZW4g KG9yIChub3QgKD0gYmVnIChwb2ludC1taW4pKSk8YnI+DQorwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgKG5vdCAoPSBlbmQgKHBvaW50LW1heCkpKSk8YnI+DQorwqAgwqAgwqAgwqAgKG5hcnJvdy10 by1yZWdpb24gKGZpZWxkLWJlZ2lubmluZykgKGZpZWxkLWVuZCkpKSk8YnI+DQrCoCDCoCDCoChs ZXQgKCh0ZXh0PGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgKGNvbmQ8YnI+DQrCoCDCoCDCoCDCoCDC oCDCoCDCoCgoY2wtbG9vcCBmb3IgKHB0aGluZyAuIGZ1bmN0aW9uKSBpbiB0aGluZy1hdC1wb2lu dC1wcm92aWRlci1hbGlzdDxicj4NCjxicj4NCjxicj4NCi0tIDxicj4NCihkb21lc3RpYyBwZXRz IG9ubHksIHRoZSBhbnRpZG90ZSBmb3Igb3ZlcmRvc2UsIG1pbGsuKTxicj4NCsKgIMKgYmxvZ2d5 IGJsb2c6IDxhIGhyZWY9Imh0dHA6Ly9sYXJzLmluZ2VicmlndHNlbi5ubyIgcmVsPSJub3JlZmVy cmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2xhcnMuaW5nZWJyaWd0c2VuLm5vPC9hPjxicj4N CjwvYmxvY2txdW90ZT48L2Rpdj4NCg== --00000000000088cc6505d3814e7d--