No, an index build from scratch will still
skip over header files the second time it runs into them. On the other hand, I
do have a rebuild index menu item in the C/C++ Index view that I will be adding
to the C/C++ Projects view very soon now.
From:
cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Sergey Prigogin
Sent: Monday, May 22, 2006 7:37 PM
To: CDT
General developers list.
Subject: Re: [cdt-dev] Turning off
ctags indexer
Does it mean that an index built from scratch using
the fast indexer is just as accurate as the one built with the full one? Would
it make sense to give users a command that rebuilds the index from scratch,
something like make clean?
-sergey
On 5/22/06, Doug Schaefer <DSchaefer@xxxxxxx> wrote:
Both indexers create an
instance of the DOM, which includes the AST and Bindings, and saves certain
objects from the DOM to a database, called the PDOM.
The Full indexer creates
a full DOM for each compilation unit (.c or .cpp). As such, it works much like
a compiler. And is pretty accurate, or as accurate as we could make the DOM
with the resources we had.
The Fast indexer cheats
and uses the objects saved in the PDOM from previous indexing so that it can
skip over previously indexed header files when they are #included. This is
similar to how precompiled headers work and we're getting similar performance
gains from it. However, this is less accurate than the full indexer since not
all objects in the DOM are being saved so there may be dangling references or
misinterpretation. Over time, I'll add in more objects as long as performance
doesn't degrade. But, since it is all based on heuristics, there will always be
some chance of getting wrong answers.
To: CDT General developers list.
Subject: Re:
[cdt-dev] Turning off ctags indexer
What is the accuracy difference between the two indexers? How does it
manifest itself? In what situations?
-sergey
I've changed the little
comment after the indexer names. It's now
-
Full Indexer (slow but accurate)
-
Fast Indexer (faster but less accurate)
I have had requests to
keep the full indexer around due to its better accuracy so am hesitant to call
it "Legacy". But I would like a better name than "Fast" so
if anyone has suggestions…
I'm also wandering what
to call the indexer that runs in ctags mode (i.e ignores all include statements
all together), but that probably won't show up until 4.0 or maybe 3.1.1 and
then only if people are having a hard time with the "Fast" indexer.
BTW. The default indexer
is the Null one, i.e. no indexing at all. I have put a check box in the Indexer
preference page that will allow you to change all the projects in your
workspace to the selected default. That should make it easier to turn things
on.
To: CDT
General developers list.
Subject: Re:
[cdt-dev] Turning off ctags indexer
It also makes sense to rename Fast C/C++ Indexer to
just C/C++ Indexer and Full C/C++ Indexer to Legacy C/C++ Indexer, or some
other bad name that would discourage its use.
-sergey
+1 from me to "turning it
off". I'd rather pour any effort into
improving "our own" technology now that we are
sufficiently down
the road to independance.
Thomas
> Sent: May 22, 2006
1:04 PM
> To: CDT General developers list.
> Subject: [cdt-dev]
Turning off ctags indexer
>
> Hey gang,
>
>
>
> I am continuing to feel the affects of trying to replace
five
> people with myself. To help make sure we reach the dates
with
> good quality, I am going to reduce content. Since the PDOM
> Fast indexer is now pretty fast, I am going to turn off the
> ctags indexer. I have not had the time to port it over to
the
> PDOM completely. Also looking at the info we get from ctags,
> I'm not sure how the features that used the index worked
well at all.
>
>
>
> Also, in the future, I can see now how I can get the DOM
> parser to work like ctags and probably have it produce
better
> results. The ctags indexer was really meant as a stop gap to
> make sure we could get some index info for large projects in
> a reasonable time. This may longer be necessary.
>
>
>
> As always, I'm open to feedback. In this case, however, the
> ctags indexer will only be brought back if someone steps up
> to work on it.
>
>
>
> Cheers,
>
_______________________________________________
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev
|