Bug 145516 - Bad performance when compiling a java file with non java content
Summary: Bad performance when compiling a java file with non java content
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.2.1   Edit
Assignee: David Audel CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-06 07:34 EDT by David Audel CLA
Modified: 2006-09-11 13:59 EDT (History)
0 users

See Also:


Attachments
Proposed fix (986 bytes, patch)
2006-06-06 09:00 EDT, David Audel CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description David Audel CLA 2006-06-06 07:34:39 EDT
build I20060602-1317

1) create a new java project
2) copy ecj.jar inside this project
3) rename ecj.jar as ecj.java
4) do refresh of the project
5) rebuild this project
Building this file take a long time.
This is not the case in 3.1.
Comment 1 David Audel CLA 2006-06-06 07:41:46 EDT
The problem is caused by statement recovery.

When the statment recovery is enabled the DiagnoseParse doesn't stop when the maximum of reported problems is reached. That's because the statement recovery use the result of the diagnosis.
But with this test case most of the problems are in the diet part of the source and the statment recovery doesn't use these diagnosis.

A fix would be to stop diagnosis in diet part when the maximum of problems is reached even if statement recovery is enabled.
Comment 2 David Audel CLA 2006-06-06 07:45:17 EDT
Compiler is between 5 and 10 time slower with this kind of test case when statement recovery is enabled
Comment 3 David Audel CLA 2006-06-06 09:00:59 EDT
Created attachment 43582 [details]
Proposed fix
Comment 4 David Audel CLA 2006-06-07 09:23:29 EDT
Fix released in 3.2.1 branch
No regression test.
Comment 5 Frederic Fusier CLA 2006-06-12 06:22:34 EDT
Released for 3.2.1
Released for 3.3 M1 while merging TARGET_321 in HEAD
Comment 6 Frederic Fusier CLA 2006-08-04 11:21:49 EDT
Verified for 3.3 M1 using build I20060804-0010.
Comment 7 Olivier Thomann CLA 2006-09-11 13:59:50 EDT
Verified for 3.2.1 using build M20060908-1655.