Summary: | Large File: Java builder not reacting on cancel | ||||||
---|---|---|---|---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Dani Megert <daniel_megert> | ||||
Component: | Core | Assignee: | David Audel <david_audel> | ||||
Status: | VERIFIED FIXED | QA Contact: | |||||
Severity: | normal | ||||||
Priority: | P3 | CC: | david.watson1 | ||||
Version: | 3.0 | Keywords: | performance | ||||
Target Milestone: | 3.0 RC1 | ||||||
Hardware: | PC | ||||||
OS: | Windows XP | ||||||
Whiteboard: | |||||||
Attachments: |
|
Description
Dani Megert
2004-05-17 06:30:24 EDT
We only check for cancel when handing back compilation results. In order to check more often, we'd have to provide an alternate mechanism, as the compiler is not allowed to directly see progress monitors which are Eclipse specific. Post 3.0 Reopening, someone else complained about slow error diagnosis. Suspecting the following to be using all CPU... org.eclipse.jdt.internal.compiler.parser.diagnose.DiagnoseParser.scopeTrialChec k(DiagnoseParser.java:1346) at org.eclipse.jdt.internal.compiler.parser.diagnose.DiagnoseParser.scopeTrial (DiagnoseParser.java:1309) daniel - what is the size of your large zip in your test case ? >20MB as outlined
*** Bug 63432 has been marked as a duplicate of this bug. *** Diagnose takes too much time for very large files with a lot of syntax errors. Possible improvment: - DiagnoseParser#scopeTrialCheck: limit the depth of scopeTrialCheck recursive call - DiagnoseParser#diagnoseParse: stop diagnose when the maximum errors per unit is reached. - CompilationUnit#buildStructure: diagnose only one syntax error when it's possible - SourceInder#indexDocument: diagnose only one syntax error Created attachment 11270 [details]
diagnose performance improvment
Fixed and released. David, could you please verify this one? Verified for 3.0RC1 |