all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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

  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

* 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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.