unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
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.

  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

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