Skip to main content

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

No, autobuild is off.
 
The indexer block was created to improve performance. If you have big enough workspace, its indexing at startup or reindexing can be quite expensive. At the same time  user usually is working on 1-2 project, so it doesn't make sense to wait until they are indexed. Now the only way to avoid this overhead is to close those projects.
On the other hand I agree that dependency checking switch doesn't seem to be useful. I based my opinion on the previous version (implementation with DependencyManager).
I tried to use new version for QNX projects. Unfortunately its interface is not convenient. That's why checking time for big project is incredible. The problem is that actually I don't need to get the list of dependencies, but I just has to detect if source file has to be rebuilt. Now there is no way to interrupt dependencies collection after it has been detected that resource was out of time. A sort of visitor technique could be fine for that. And usually dependency trees for the files in project are quite similar, so information collected during the first resource checking can dramatically decrease time for the rest resources processing.
 
Alex Chapiro
----- Original Message -----
Sent: Thursday, October 09, 2003 9:29 AM
Subject: Re: [cdt-dev] Dependency checking



cdt-dev-admin@xxxxxxxxxxx wrote on 10/08/2003 11:20:03 AM:

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

>  

Do you have autobuild turned on?

> If I add the following line :
> System.out.println(resource.getLocation().toString()
>  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..


The indexer block was put in place to avoid conflicts between the CTags indexer
and the new indexer (especially during the development of the new indexer). Once the
new indexer reached a level of stability, we took the CTags indexer out and turned the
indexer on for good...

>  
> ----- Original Message -----
> From: Bogdan Gheorghe
> To: cdt-dev@xxxxxxxxxxx
> 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

Back to the top