From: Thorsten Bonow <thorsten.bonow@post.rwth-aachen.de>
Subject: Re: OT:cscope/tags
Date: Mon, 04 Dec 2006 21:37:56 +0100 [thread overview]
Message-ID: <87vekrqtwb.fsf@post.rwth-aachen.de> (raw)
In-Reply-To: 87zma3rabc.fsf@post.rwth-aachen.de
>>>>> "Toto" == Thorsten Bonow <thorsten.bonow@post.rwth-aachen.de> writes:
[...]
Toto> So I think what's wrong with xscope.el is the "do I need to update the
Toto> database" algorithm.
I made some additional tests which led to confusing results. Nevertheless I
think they are useful if somebody wants to tackle the original problem of
speeding up cscope for large projects as the linux kernel source.
1.) Trying to add the "-q" option to xcscope in my opinion is a step in the
wrong direction: First of all I didn't manage to patch
xcscope/cscope-indexer without performance going to hell, but then I tried
using cscope *without* Emacs/xcscope and realised the following: If the
database is build with the "-q" switch, after loading it cscope searches
much faster in it compared to a database created without it, *but* exiting
and restarting cscope would take much, much longer. Since xcscope.el uses
cscope with the "one shot" option (-L), it has to restart and load the
database for every search request: That is the reason why performance went
down so badly.
2.) Trying to keep cscope running all the time (e.g. with the "-l" option) as
discussed in the EmacsWiki
(http://www.emacswiki.org/cgi-bin/wiki/CScopeAndEmacs) and put to test in
bscope.el
(http://groups.google.de/group/gnu.emacs.sources/browse_thread/thread/6e087f36c31336b8/92f00c90361f07da?hl=en)
has the major drawback that the database is not updated between search
requests. But in this case I have to compare search times to xcscope's
behaviour when the `cscope-do-not-update-database' variable is set to a
non-nil value (you can do this manually, via customise or in the "options"
sub-menu of the xcscope menu): On my Athlon 700 box, searching for the
global definition of a symbol took less than 2 seconds---in my opinion an
acceptable time which should be even smaller on a more modern system.
So, the way I see it your best bet is to disable automatic updating of the
database and do it manually in your coffee breaks ;-)
GNU global/gtags supports incremental updates, is sporting a nice Emacs
interface with xgtags.el (http://home.tiscali.de/mgidde/source/xgtags.el)
but---alas---handles only the search for symbols, nothing fancy like cscope's
search for global definitions etc.
Hope that helps.
Toto
--
Contact information and PGP key at
http://www-users.rwth-aachen.de/thorsten.bonow
You will pay for your sins. If you have already paid, please
disregard this message.
next prev parent reply other threads:[~2006-12-04 20:37 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-04 9:40 OT:cscope/tags Hadron
2006-12-04 10:40 ` OT:cscope/tags Thorsten Bonow
2006-12-04 11:52 ` OT:cscope/tags Hadron Quark
2006-12-04 14:43 ` OT:cscope/tags Thorsten Bonow
2006-12-04 20:37 ` Thorsten Bonow [this message]
2006-12-05 19:01 ` OT:cscope/tags Hadron Quark
2006-12-05 21:37 ` OT:cscope/tags Thorsten Bonow
2006-12-05 22:37 ` OT:cscope/tags Hadron Quark
2006-12-04 16:31 ` OT:cscope/tags Perry Smith
[not found] ` <mailman.1509.1165249894.2155.help-gnu-emacs@gnu.org>
2006-12-05 18:58 ` OT:cscope/tags Hadron Quark
2006-12-05 20:19 ` OT:cscope/tags Perry Smith
[not found] ` <mailman.1572.1165349985.2155.help-gnu-emacs@gnu.org>
2006-12-05 22:39 ` OT:cscope/tags Hadron Quark
2006-12-06 0:31 ` OT:cscope/tags Perry Smith
[not found] ` <mailman.1581.1165365122.2155.help-gnu-emacs@gnu.org>
2006-12-06 1:32 ` OT:cscope/tags Hadron Quark
2006-12-06 3:19 ` OT:cscope/tags Perry Smith
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=87vekrqtwb.fsf@post.rwth-aachen.de \
--to=thorsten.bonow@post.rwth-aachen.de \
/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.