help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OT:cscope/tags


From: Hadron Quark
Subject: Re: OT:cscope/tags
Date: Tue, 05 Dec 2006 20:01:33 +0100

Thorsten Bonow <thorsten.bonow@post.rwth-aachen.de> writes:

>>>>>> "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.

Firstly thanks for the help-

>
> 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)

Is there an easy way to use bscope with all the cscope keybindings?

>     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

-- 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]