* Preloading TAGS and completion table (resend)
@ 2012-07-10 19:49 Ludwig, Mark
2012-07-11 11:07 ` XeCycle
0 siblings, 1 reply; 2+ messages in thread
From: Ludwig, Mark @ 2012-07-10 19:49 UTC (permalink / raw)
To: help-gnu-emacs@gnu.org
[Sorry, resending in plain text]
I use Emacs to maintain a large software system (>10,000,000 lines of code). We have multiple releases in the field under active maintenance (plus the next release under development). I have cron jobs that make TAGS daily (overnight) because it takes hours to read the entire source in the multiple release source branches. Each TAGS file per branch is over 40MB. I run an instance of Emacs per release branch, because we use ClearCase, so the "same file name" potentially has different contents depending on the view (i.e., can't use Emacs Server across releases).
When I want to use tag completion, it takes about a minute for Emacs to construct the completion table. Meanwhile, I can't do anything else in Emacs. I'm wondering if it's possible to get the completion table pre-loaded in the background, so when I am finding a tag and hit '?' I get an instantaneous response the first time, instead of a minute-long wait.
For context, I have been using EMACS/Emacs for over 30 years and my .emacs file is tiny, only pointing to another file with the real customization. My customization is ~1,000 lines, and I byte-compile it. I like pretending my name is Luke and using the source, but could use some tips and pointers about whether it's a good idea to try this in the background. I'm not even sure it's possible to run this in the background (asynchronously). Does Emacs have such asynchronous execution capability?
If asynchronous execution isn't possible or wise, I'll settle for a way to forcibly load the completion table (without my needing to manually trigger it). I don't see a way to do that, either.
Thanks in advance!
Mark
P.S. If there is a better e-mail list for this question, please let me know.
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Preloading TAGS and completion table (resend)
2012-07-10 19:49 Preloading TAGS and completion table (resend) Ludwig, Mark
@ 2012-07-11 11:07 ` XeCycle
0 siblings, 0 replies; 2+ messages in thread
From: XeCycle @ 2012-07-11 11:07 UTC (permalink / raw)
To: help-gnu-emacs
[-- Attachment #1: Type: text/plain, Size: 2379 bytes --]
"Ludwig, Mark" <ludwig.mark@siemens.com> writes:
> [Sorry, resending in plain text]
>
> I use Emacs to maintain a large software system (>10,000,000
> lines of code). We have multiple releases in the field under
> active maintenance (plus the next release under development). I
> have cron jobs that make TAGS daily (overnight) because it takes
> hours to read the entire source in the multiple release source
> branches. Each TAGS file per branch is over 40MB. I run an
> instance of Emacs per release branch, because we use ClearCase,
> so the "same file name" potentially has different contents
> depending on the view (i.e., can't use Emacs Server across
> releases).
>
> When I want to use tag completion, it takes about a minute for
> Emacs to construct the completion table.
(By TAGS I assume you're using etags completion)
Have you tried gtags? I tried it in Linux kernel source, and it
gives completion list beginning with two letters in roughly 0.1
secs. The time may vary, but I think it should be able to give
you the list in seconds.
> Meanwhile, I can't do anything else in Emacs. I'm wondering if
> it's possible to get the completion table pre-loaded in the
> background, so when I am finding a tag and hit '?' I get an
> instantaneous response the first time, instead of a minute-long
> wait.
>
> For context, I have been using EMACS/Emacs for over 30 years and
> my .emacs file is tiny, only pointing to another file with the
> real customization. My customization is ~1,000 lines, and I
> byte-compile it. I like pretending my name is Luke and using the
> source, but could use some tips and pointers about whether it's a
> good idea to try this in the background. I'm not even sure it's
> possible to run this in the background (asynchronously). Does
> Emacs have such asynchronous execution capability?
>
> If asynchronous execution isn't possible or wise, I'll settle for
> a way to forcibly load the completion table (without my needing
> to manually trigger it). I don't see a way to do that, either.
>
> Thanks in advance!
> Mark
>
> P.S. If there is a better e-mail list for this question, please let me know.
>
>
--
Carl Lei (XeCycle)
Department of Physics, Shanghai Jiao Tong University
OpenPGP public key: 7795E591
Fingerprint: 1FB6 7F1F D45D F681 C845 27F7 8D71 8EC4 7795 E591
[-- Attachment #2: Type: application/pgp-signature, Size: 489 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-07-11 11:07 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-10 19:49 Preloading TAGS and completion table (resend) Ludwig, Mark
2012-07-11 11:07 ` XeCycle
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).