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#60953: The :match predicate with large regexp in tree-sitter font-lock seems inefficient Date: Wed, 01 Feb 2023 15:39:53 +0200 Message-ID: <83tu05zeqe.fsf@gnu.org> References: <7624dddc-4600-9a03-ac8b-d3c9e0ab618c@yandex.ru> <83wn5ag4nc.fsf@gnu.org> <01b5d074-fb12-6b1f-cbfb-5e759833b854@yandex.ru> <838rhpg57n.fsf@gnu.org> <5026D975-983F-4D18-8690-BE139C92825D@gmail.com> <83pmb1emxi.fsf@gnu.org> <6f318afc-ca71-8b7e-c822-52e6635b5718@yandex.ru> <83sffxcfxw.fsf@gnu.org> <83pmb1cbg5.fsf@gnu.org> <2da844d3-ea31-289e-2821-aa174e365ffd@yandex.ru> <6784f9e7-844b-374d-2a1e-8a61cebe0d7e@yandex.ru> <83zga03yne.fsf@gnu.org> <373a575f-c683-1581-c3e6-502e9897fb04@yandex.ru> <83mt603vrc.fsf@gnu.org> <83e58a1b-2e4a-356a-36d8-c756ff105b62@yandex.ru> <83bkmf52va.fsf@gnu.org> <33cad4c1-4af5-37bb-05bc-79a4d9c1a700@yandex.ru> <83wn533lut.fsf@gnu.org> <19892f55-498e-1109-2229-2ddd984849a4@yandex.ru> <83tu073ksp.fsf@gnu.org> <83sffr2xq2.fsf@gnu.org> <30b047a9-dfe3-948a-a123-2e15221c239d@yandex.ru> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="12556"; mail-complaints-to="usenet@ciao.gmane.io" Cc: casouri@gmail.com, 60953@debbugs.gnu.org To: Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Feb 01 14:41:17 2023 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 1pNDMT-000373-Al for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 01 Feb 2023 14:41:17 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pNDML-0005ku-AP; Wed, 01 Feb 2023 08:41:09 -0500 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 1pNDME-0005ir-NI for bug-gnu-emacs@gnu.org; Wed, 01 Feb 2023 08:41:06 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pNDME-0007qt-FR for bug-gnu-emacs@gnu.org; Wed, 01 Feb 2023 08:41:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pNDMD-0006Vf-VR for bug-gnu-emacs@gnu.org; Wed, 01 Feb 2023 08:41:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 01 Feb 2023 13:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60953 X-GNU-PR-Package: emacs Original-Received: via spool by 60953-submit@debbugs.gnu.org id=B60953.167525880724942 (code B ref 60953); Wed, 01 Feb 2023 13:41:01 +0000 Original-Received: (at 60953) by debbugs.gnu.org; 1 Feb 2023 13:40:07 +0000 Original-Received: from localhost ([127.0.0.1]:56866 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNDLK-0006UD-TZ for submit@debbugs.gnu.org; Wed, 01 Feb 2023 08:40:07 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:46670) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNDLF-0006TY-KN for 60953@debbugs.gnu.org; Wed, 01 Feb 2023 08:40:05 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pNDLA-0007QJ-8k; Wed, 01 Feb 2023 08:39:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=nMEWfD7BlffeQdd58d00gQN5sPYsooACvOBlTDJqV94=; b=LXr/+oYqMj7c 9TImnSJw3/CSvZJWDDyeHyheHtYOTcL8DXit71rwMn8jbN7pkM/pLUMf0fQV6lBwmHK266y5RFplV mjyfR0G644v+Xs6jzxPCA5qL3JfJDzhEoMo2KH4UGLYJeZ2OTCSPhqg+ePiRtXi3B6QU9bzo1mfke R8jYmGnNpvTGtOArreggCqGlIUQ4RWk758lz3wZYIhKK6ADb1Z+vjkpVcJ7zNv14FyMZeZsz2cfQ+ /NLLdvshg91nVlNJuc406WOYT3KkuHhpB5oTwQ1bUN7lrj/ZDBY0/fIY3W/7H8iu8T91su0XiqnGn tgUN+25AvnYFckQ64go4bw==; Original-Received: from [87.69.77.57] (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 1pNDL9-0002oz-G8; Wed, 01 Feb 2023 08:39:56 -0500 In-Reply-To: <30b047a9-dfe3-948a-a123-2e15221c239d@yandex.ru> (message from Dmitry Gutov on Wed, 1 Feb 2023 04:39:29 +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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:254579 Archived-At: > Date: Wed, 1 Feb 2023 04:39:29 +0200 > From: Dmitry Gutov > Cc: casouri@gmail.com, 60953@debbugs.gnu.org > > So here. I've installed the first patch, which didn't raise up too many > concerns previously, and here's the new iteration on the second patch. Thanks, but please in the future when you make changes which call functions from external libraries that were not called previously, be sure to do the DEF_DLL_FN/LOAD_DLL_FN and the #undef/#define dance needed to avoid breaking the MS-Windows build. > Please see the attachment. > > To note the numbers: the first patch does quite well to improve the > performance of modes which use :match in queries which match a lot of > nodes (e.g. rust-ts-mode or ruby-ts-mode). There boost in those was on > the order of 25%. > > The second one is longer, and the boost (on top of the first one) is > around 5-6%, stable. Not as impressive, but at least it brings :match's > performance a little above :pred's in my example. Fine by me, if Yuan also approves.