[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-dev] Performance issues with indexer/refresh on large scale project
|
Ran into this problem long time ago while importing huge project into
work space. Indexer participant effectively solved it, dramatically
improving performance.
I declared stop participant like here:
public class LocalIndexerSetupParticipant extends
IndexerSetupParticipant {
private boolean postpone = false;
public boolean postponeIndexerSetup(ICProject project) {
return postpone;
}
public void stopIndexer(boolean stop) {
postpone = stop;
}
}
Then to stop indexer:
LocalIndexerSetupParticipant participant =
new LocalIndexerSetupParticipant();
CCorePlugin.getIndexManager().addIndexerSetupParticipant(participant);
And to release indexer:
participant.stopIndexer(false);
CCorePlugin.getIndexManager().removeIndexerSetupParticipant(participant);
On 26/01/2010 10:07 AM, Bursian, Achim wrote:
Hi all,
I'm running into serious performance problems with a ~40k files C++
project (standard make project on Solaris/Sparc with ClearCase as
SCC). Importing and indexing the project takes hours, which is at
least partly caused by a lot of unnecessary files being opened.
Three questions:
* How can I programmatically disable the automatic indexing for a
period of time, and reenable it later (I found that it's faster to do
a refresh without the indexer running, and doing a full indexer run
afterwards)? I'd try to do that in a startup plugin, which would
disable indexing, import the project, refresh everything, then run the
indexer. Maybe that could speed up things...
* I would like to exclude a complete part of the project hierarchy
from being seen by Eclipse and CDT. I thought the "filter" setting
("Source folder exclusion pattern") on the CDT source folders property
page would do just that, but no. I excluded the "test/" folder and
some others with the filter, now it is no longer shown in the project
explorer. But monitoring the system with /Solaris dtrace /shows that
the whole <projectroot>/test folder hierarchy is still scanned (stat
system call) during a refresh, and a lot of files there even get
opened (Imakefiles, *.txt, *.xml). This is quite bad, as it contains
20k files that are only testcases and data stuff. Anything I can do?
* Is there any general guideline for setting up such a large scale
project with CDT, anywhere?
Thanks!
Achim
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev