From: Scott Frazer <frazer.scott@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: How to use etags-select
Date: Tue, 04 Sep 2007 09:31:25 -0400 [thread overview]
Message-ID: <1188912686.245407@sj-nntpcache-2.cisco.com> (raw)
In-Reply-To: <1188648321.765941.18960@y42g2000hsy.googlegroups.com>
Rafal Kurcz wrote:
>
> Great thanks for help Scott.
> Sorry for bothering you again but I think I found another weak point
> of etags-select.
> I started using it with the linux kernel's latest source tree.
> I generated the TAGS file:
> exuberant-ctags -R -e
>
> The size of TAGS file is 54 MB.
>
> Locating the tag with:
> etags-select-find-tag-at-point
>
> takes about 10s on Pentium 4 2.4 GHz.
> It takes about 15s when loading the TAGS table for the first time.
>
> Using the M-. takes about 0.5 s that is quite acceptable
>
> I did the test with Vim.
> I generated the tags table with:
> exuberant-ctags -R
>
> The size of tags file is 74 MB (37% larger than emacs TAGS table).
> Vim is extremely fast when locating all the tags and showing the
> choice list.
> It takes much less than 0.5s.
>
> Do you have any idea why etags-select works so slowly ?
>
The difference between etags-select-find-tag-at-point and M-. is most likely that
M-. stops at the first occurrence of a tag, but etags-select-find-tag-at-point
has to go through the entire TAGS file to find all occurrences. 54 MB is quite a
bit. I'm curious though: is there a tag waaaay at the end (and only there) of
TAGS that you could try searching for using M-. and tell me if it's still fast?
I tried to be very careful with my search regexp, but maybe there's a sneaky
efficient way.
As for Vim: (1) Maybe the search is written in C or something (somewhat unlikely),
(2) There is only a single tag format for Vim, vs. three for Emacs thus tripling
the things that have to be looked for (more likely), and (3) Vim tag files are
sorted so you can have a much more efficient search algorithm (big honkin' likely).
Scott
next prev parent reply other threads:[~2007-09-04 13:31 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-21 9:57 How to use etags-select Rafal Kurcz
2007-07-23 13:23 ` Scott Frazer
2007-07-24 8:17 ` Rafal Kurcz
2007-07-24 16:55 ` Scott Frazer
2007-07-27 15:32 ` Rafal Kurcz
2007-07-27 18:35 ` Scott Frazer
2007-09-01 12:05 ` Rafal Kurcz
2007-09-04 13:31 ` Scott Frazer [this message]
2007-09-04 15:56 ` Scott Frazer
2007-09-04 16:16 ` Richard G Riley
2007-09-05 8:27 ` Rafal Kurcz
2007-09-08 16:41 ` Rafal Kurcz
2007-09-09 12:01 ` Rafal Kurcz
2007-09-10 14:33 ` Scott Frazer
2007-09-15 10:03 ` Rafal Kurcz
2007-09-18 13:08 ` Scott Frazer
2007-09-19 15:22 ` Rafal Kurcz
2007-09-25 15:41 ` Scott Frazer
2007-09-25 16:04 ` Gordon Beaton
2007-09-25 18:04 ` Scott Frazer
2007-09-25 23:36 ` Scott Frazer
2007-09-04 19:34 ` Vagn Johansen
2007-09-04 19:55 ` Drew Adams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1188912686.245407@sj-nntpcache-2.cisco.com \
--to=frazer.scott@gmail.com \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).