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

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

Re: Navigating an enormous code base


From: Marcus Harnisch
Subject: Re: Navigating an enormous code base
Date: Thu, 28 Apr 2022 08:42:55 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1

On 28/04/2022 00.59, John Yates wrote:
Start with feeding a completion interface:

* Do you index on demand?  If no, then when?  And how do you
   keep the index upto date?

As far as my work pattern with Global/ggtags is concerned, I create a full index rarely. Usually only when the repository can be expected to have changed significantly (pull, merge with upstream, etc).

Global can do single-file updates, which I think ggtags executes in ‘after-save-hook’ or something, so your own changes will be tracked. Creating the database with the sqlite3 backend is supposed to perform much better with these partial updates.

Since I spend most of my time in my little niche this is sufficient for my purposes and even if there have been small updates outside, the location I will be taken to is close enough most of the time (and a little reminder for creating a full index).

* Indexing the entire workspace will result in an intractably
   large index.  So how do you partition it?

I don't bother and don't partition the project (comprising of 10k files, and 50+ nested subprojects)

The total size of the DBs is about 60MB (files: 2, tags: 20, references: 38).

* Is the user restricted to querying a single partition of the
   index?  If yes, then that feels painfully restrictive.  If no,
   how does that user indicate which partition indices to combine?
   How is combining accomplished?

See above.

* How are duplicate filenames handled?

By storing path names.

Why don't you give it a whirl and see whether this suits you?




reply via email to

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