Bug 269912 - wasted time building message context when it is only used for command line builds
Summary: wasted time building message context when it is only used for command line bu...
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: PC Windows Vista
: P3 normal (vote)
Target Milestone: 1.6.4   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-24 19:25 EDT by Andrew Clement CLA
Modified: 2009-03-25 12:21 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Clement CLA 2009-03-24 19:25:29 EDT
The context for a message is created even when AspectJ is used inside AJDT - but the context only ever gets used when printing messages to System.out.  Under AJDT we ought to be able to 'switch it off'
Comment 1 Andrew Clement CLA 2009-03-24 20:00:44 EDT
When all the AspectJ modules (about 20 or so) are converted to AspectJ projects, the totals for 'time spent in AJDE' (from the event trace view) are as follows.  

These are all full builds, but the initial one is a bit higher, presumably just because eclipse hasn't warmed up at all.

33525ms
27399ms
28595ms
26926ms

I then removed the context creation code (hacked it out), these are the new full build times:

24075ms (saved 29%)
22718ms (saved 18%)
22593ms (saved 21%)

My yourkit measurement showed it was about 20% of the time for context building, and the numbers agree.  So now I'll look for the proper way to avoid building the context in the IDE.

I think a 20% improvement in build times for a full build in the IDE is rather nice!

Although, the saving here is because there are a lot of messages coming out - if there are no messages (no warnings, no TODOs, no errors, nothing at all) then the context building code will not be costing anything.  All the AspectJ code produces around 8000 warnings - these are mostly the ones about using types like List without specifying the generic parameters.

Comment 2 Andrew Clement CLA 2009-03-25 12:21:08 EDT
fixed - my build times down by 20% now in the IDE.