From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#23223: 25.0.92; Can xref-find-references be sped up? Date: Tue, 12 Apr 2016 18:50:49 +0300 Message-ID: <83h9f6g71i.fsf@gnu.org> References: <83pou4m6h7.fsf@gnu.org> <902ac022-3a76-c363-0c77-12b1cdb8d521@yandex.ru> <8360vumzk4.fsf@gnu.org> <83mvp5lauu.fsf@gnu.org> <4424e043-31c7-0da4-213a-ee8ac31d9265@yandex.ru> <83vb3ri6q0.fsf@gnu.org> <83zit0f8ah.fsf@gnu.org> <90b81ad1-c3ab-272b-724b-ba63f0451d5a@yandex.ru> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1460476347 6286 80.91.229.3 (12 Apr 2016 15:52:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 12 Apr 2016 15:52:27 +0000 (UTC) Cc: 23223@debbugs.gnu.org To: Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Apr 12 17:52:12 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aq0bq-00058r-CL for geb-bug-gnu-emacs@m.gmane.org; Tue, 12 Apr 2016 17:52:10 +0200 Original-Received: from localhost ([::1]:52349 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aq0bp-0000QZ-Jk for geb-bug-gnu-emacs@m.gmane.org; Tue, 12 Apr 2016 11:52:09 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53286) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aq0bl-0000OA-7V for bug-gnu-emacs@gnu.org; Tue, 12 Apr 2016 11:52:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aq0bi-0000nB-0g for bug-gnu-emacs@gnu.org; Tue, 12 Apr 2016 11:52:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:48872) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aq0bh-0000n0-Tt for bug-gnu-emacs@gnu.org; Tue, 12 Apr 2016 11:52:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1aq0bh-0002Hx-P7 for bug-gnu-emacs@gnu.org; Tue, 12 Apr 2016 11:52:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Apr 2016 15:52:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23223 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 23223-submit@debbugs.gnu.org id=B23223.14604762898756 (code B ref 23223); Tue, 12 Apr 2016 15:52:01 +0000 Original-Received: (at 23223) by debbugs.gnu.org; 12 Apr 2016 15:51:29 +0000 Original-Received: from localhost ([127.0.0.1]:32976 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aq0bB-0002H9-MT for submit@debbugs.gnu.org; Tue, 12 Apr 2016 11:51:29 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:33905) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aq0bA-0002Gw-UF for 23223@debbugs.gnu.org; Tue, 12 Apr 2016 11:51:29 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aq0b2-0000dZ-KU for 23223@debbugs.gnu.org; Tue, 12 Apr 2016 11:51:23 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57021) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aq0b2-0000dV-H1; Tue, 12 Apr 2016 11:51:20 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1950 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aq0b0-0002WQ-VM; Tue, 12 Apr 2016 11:51:19 -0400 In-reply-to: <90b81ad1-c3ab-272b-724b-ba63f0451d5a@yandex.ru> (message from Dmitry Gutov on Tue, 12 Apr 2016 02:25:54 +0300) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 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.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:116413 Archived-At: > Cc: 23223@debbugs.gnu.org > From: Dmitry Gutov > Date: Tue, 12 Apr 2016 02:25:54 +0300 > > > Unfortunately, it seems to miss matches: out of 1127 matches of > > current_buffer with the original version, the new one only shows 963. > > It sounds like some conditions on what exactly is a symbol need > > adjustment, > > Ooh, that's a great catch, thanks! Turns out, auto-mode-alist wasn't > getting applied because buffer-file-name wasn't set. Fixing that added > ~25% performance hit, so I also added xref--find-buffer-visiting to > cache the expensive lookup mentioned previously. See the new patch attached. > > That seems to about exhaust the optimization opportunity here. LGTM, please push. Btw, I noticed another strange thing, but I was only able to reproduce it with the current version, before your patch: the set of results returned by xref-find-references, when it uses IDUtils, is not entirely repeatable. Sometimes, a few matches, sometimes a few dozen of them, are missing. I have no idea why; the lid command consistently returns the same number of lines each time I invoke it. > > semantic-symref-derive-find-filepatterns: Customize ‘semantic-symref-filepattern-alist’ for lisp-interaction-mode > > > > unless I invoke xref-find-references from a buffer in C mode. > > ...or the current major mode is one of the currently supported ones, via > the above variable. > > > Curiously, this doesn't happen when there's an ID file and IDutils is > > invoked. Is this expected? > > Yes. semantic-symref-filepattern-alist is defined in and used by > semantic/symref/grep.el. We can add (lisp-interaction-mode "*.el") to it. I think we should do that, yes. Thanks.