Bug 177319 - Annotation Processing (APT) affects eclipse speed
Summary: Annotation Processing (APT) affects eclipse speed
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.2.2   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.3 M6   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on:
Blocks:
 
Reported: 2007-03-14 08:22 EDT by Rudi de Andrade CLA
Modified: 2007-03-21 05:07 EDT (History)
2 users (show)

See Also:


Attachments
Processor plug-in that demonstrates problem (11.28 KB, application/x-java-archive)
2007-03-14 12:05 EDT, Walter Harley CLA
no flags Details
Archive of target workspace (1.50 KB, application/zip)
2007-03-14 12:06 EDT, Walter Harley CLA
no flags Details
Proposed fix and regression test (3.74 KB, patch)
2007-03-15 08:13 EDT, Jerome Lanneluc CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rudi de Andrade CLA 2007-03-14 08:22:48 EDT
Build ID: M20070212-1330

Steps To Reproduce:
1. I downloaded the APTDemo at http://www.eclipse.org/jdt/apt/introToAPT.html and modified it to log everytime process() methods get called.
2. I create a project and a class using APTDemo annotations and right-click, and quick-outlined in it
3. The log shows its called for each action 

More information:
I did a little debug this morning and I noticed that APT is getting invoked everytime I quick-outline in some class using annotations. Not only when I quick-outline but when I do stuff like right click and open-declaration.
Comment 1 Olivier Thomann CLA 2007-03-14 08:30:26 EDT
Moving to JDT/APT
Comment 2 Dani Megert CLA 2007-03-14 10:28:10 EDT
Olivier, at yesterday's JDT call it was agreed that JDT Core looks into this.
Comment 3 Walter Harley CLA 2007-03-14 12:05:33 EDT
Created attachment 60816 [details]
Processor plug-in that demonstrates problem

The attachment is an annotation processor for an annotation named "anno.Pause", which takes an integer value specifying a number of milliseconds to pause every time it is processed.  This simulates a slow processor.

To explore this bug, add the attached plugin to an Eclipse installation.  Then import the target project I'm about to attach into a new workspace, debug that Eclipse instance, and play around in the target project, doing things like Ctrl+O to bring up quick outline on an annotated class (Test.java).  You'll see console output from the processor appear on the debug console, and any pauses due to annotation processing will be evident in the Eclipse instance's behavior.
Comment 4 Walter Harley CLA 2007-03-14 12:06:40 EDT
Created attachment 60817 [details]
Archive of target workspace

Archive of a target workspace containing a suitable anno.Pause annotation and a test class that is annotated with it.
Comment 5 Jerome Lanneluc CLA 2007-03-15 08:13:00 EDT
Created attachment 60922 [details]
Proposed fix and regression test
Comment 6 Jerome Lanneluc CLA 2007-03-15 11:10:06 EDT
Fix and regression tests released for 3.3M6 in HEAD.
Comment 7 Maxime Daniel CLA 2007-03-21 05:07:09 EDT
Verified for 3.3 M6 using build I20070320-0010.