[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Dependency checking

The delays after file saving for me are about 30-40c. During this time main thread  is busy, so I cannot do any UI action. If I interrupt main thread, I see that it is running on IndexManajer.performConcurrentJob. It means that during sleeps all threads have a chance to run, but the main one.
If I add the following line :
 to AddCompilationUnitToIndex.indexDocument, it prints after file saving the names of all workspace files. Does it correct detection that it re-index all workspace once again? Could it be a result of bug # 44305?
About switcher. Of cource there can be different opinions about this issue. I think that these two (dependency checking and indexing) are different services, though tightly connected.  BTW, I guess that switching on/off for indexer has also disappeared..


----- Original Message -----
Sent: Wednesday, October 08, 2003 10:31 AM
Subject: Re: [cdt-dev] Dependency checking

cdt-dev-admin@xxxxxxxxxxx wrote on 10/07/2003 05:42:03 PM:

> Hi,
> A couple of questions about dependency checking. For the testing purpose I'm
> using big workspace and experience essential delays while saving modified
> file. I realized that:
> - the dependencies update is running in the main thread

The dependency service has been folded into the indexer service which is running on
its own thread. What kind of delays are you seeing? The dep/indexer service runs on
a low priority thread in the background - it should not cause any noticeable delays.
(Unless you are requesting a search/code complete on an unindexed project. In this
case you have to wait for the project to be indexed before continuing.)

> - as a part of this procedure  indexer is running through all workspace
> (maybe it doesn't parse all the files from the very beginning, but it does
> something with all files in the workspace: it creates new object
> AddFileToIndex for all files in the workspace, sources, headers, binary
> files, makefiles etc).

The indexer reacts to events and always tries to do the minimal amount of work. For
example, if you make changes to a file and save it, the indexer will add only the changed
file to index [provided the index is up to date]. The only time the indexer will index an
entire project is: i) search request and index not found or ii) index corrupted.

> If all this is correct, could it be changed for the sake of performance
> improvement?
> Besides that, the feature I miss is an ability to switch dependency checking
> on/off.

As the dep service is now part of the indexer (as it is crucial to keeping the index up
to date) it can't be turned off without disabling indexing.

> Alex Chapiro
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/cdt-dev