Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] CDT parsing & indexing

Title: CDT parsing & indexing
Hello,
It seems that parser is called everytime say code completion is invoked.
This would mean searching for all the includes one by one in all the directories.
Thus, having large no of directories affect code completion time everytime. Right ?
 
What I have noticed is Code navigation per say was fine but coming back to the file from which I navigated froze the GUI for some time.
Also, Outline was slower with large no of directories.  
 
Also, would like to know if "No Indexing" is on and code completion is invoked, does parser goes to the file system to locate files or it ignores the action ?

/ Veenu

 


From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Schorn, Markus
Sent: Friday, September 28, 2007 4:49 PM
To: CDT General developers list.
Subject: RE: [cdt-dev] CDT parsing & indexing

Hi,
to find the header files included with include directives (#include) the parser has to check one directory after the other until the file is found. System include directories are checked last, such that the parser has to go through all of the user-specific ones first.
So using 650 include directories is in many cases 65* slower than using 10 directories.
 
Yes, the number of include directories can have an impact on the speed of the indexer. However, after the index is built, it should not impact the navigation feature.
Markus.

From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Veenu Verma
Sent: Freitag, 28. September 2007 08:52
To: cdt-dev@xxxxxxxxxxx
Subject: [cdt-dev] CDT parsing & indexing
Importance: Low

Hello,
Need some help in knowing the functioning of CDT parser

A little background first...
We saw the slow editor problem(reported by Christopher on the forum earlier) and thankfully it is resolved by moving to CDT4.0.1
But indexer was still slow for us (2-3 minutes to get code completion) until we made some changes

Initially number of directories included using "Include Paths" option was extremely large (like 650 as we have huge no of interfaces) Indexer, code navigation etc became really slow. With CDT4.0+, indexer took 1 hour to built in comparison to old CDT when it took couple of minutes and On returning to the file after code navigation, GUI was freezing  for some time. Also code completion was taking quite long.

Reducing the no of directories though keeping the number of files same as before (around 3000) did the trick for us.
And code completion, indexing and code navigation have become quite fast now. 

Just curious to know how does parser works with traversing directories included with "Include Paths" option ?
Also, How does it affect indexer and navigator ?

Is there any recommended limit for Include path directories ?

PS: We are using Eclipse europa with CDT4.0.1 now

Veenu Khanna


Back to the top