DLTK makes Eclipse hang [message #1419302] |
Mon, 08 September 2014 11:55 |
|
Hi,
Used DLTK for a custom language. There's a performance issue.
DLTK index takes a lot of time to index. When a project first loaded it does indexing for an hour (30,000 source files). And after its done with indexing, When I do a Ctrl_Click on a variable type, it starts indexing again and hangs the Eclipse for another half an hour.
The second indexing is annoying, as already files are indexed, then why it starts indexing again on a Ctrl_Click action? Can anyone have any suggestion what could be wrong in the code.
I followed steps mentioned in wiki page (https://wiki.eclipse.org/A_guide_to_building_a_DLTK-based_language_IDE).
I found in the DEBUG log that, On Ctrl_Click action it starts a thread "DLTK indexing" and then goes for sleep.
Log:
16:44:43.245-[Thread[DLTK indexing,6,main]]Scheduling job: DLTK indexing in progress(130)
16:44:43.245-[Thread[Worker-0,5,main]]Starting job: DLTK indexing in progress(130)
16:44:43.264-[Thread[Worker-3,5,main]]worker sleeping for: 26362ms
Is there any way possible to start "DLTK indexing" thread, while starting Eclipse itself?
Thanks,
Saroj
|
|
|
Re: DLTK makes Eclipse hang [message #1429347 is a reply to message #1419302] |
Tue, 23 September 2014 05:47 |
|
I analysed DLTK code and found that in SourceModulesRequest.java (org.eclipse.dltk.core.search.indexing.core), run() method, it checks for changes in the method checkChanges() and returns the list of files which are having changes.
In my case, when I load project for the first time it does an indexing for 45 mins approx. where all files are indexed. (approx.20000 files). Then when I restart the eclipse again or I do a Ctrl+Click on a variable, it checks all files are changed and does a re-indexing for all 20000 files. It hangs the eclipse and it doesn't respond for next 30 mins until it finishes re-indexing.
Can someone clarify why checkChanges() method returns all files for re-indexing?
Thank you,
Saroj
|
|
|
Powered by
FUDForum. Page generated in 0.04153 seconds