Overall problem with AJDT performance

View: New views
20 Messages — Rating Filter:   Alert me  
< Prev | 1 - 2 | Next >

Overall problem with AJDT performance

by thofmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.

Hi Andy, Andrew J

 

I’m still having problems with the performance of AJDT and AspectJ in my workspace.

 

Let me start by describing my environment:

 

Thinkpad T61p

 

Eclipse Java EE IDE for Web Developers.

Version: 1.2.0.20090621-0820

Build id: 20090621-0832

based on Eclipse 3.5.0

 

Version: 2.0.1.e35x-20091001-1600

AspectJ version: 1.6.6.20090930185500

 

The workspace contains about 148 Java projects (and some others like features, project set projects etc.)

 

I disabled Build Automatically, restarted Eclipse and then cleaned the whole workspace. Then I started the build with Build All. The AJDT trace was set to the default values and opened. It is attached to this mail.

 

Here are the most relevant parts:

 

Line 192: 13:50:34 Project=com.dcx.ivkmds.application.ass, kind of build requested=Full AspectJ compilation

Line 208: 14:3:17 Types affected during build = 292

Line 211:Timer event: 766396ms: Total time spent in AJBuilder.build() -> more than 12 minutes!

Line 707: 14:22:6 Timer event: 117857ms: Create markers: com.dcx.ivkmds.application.ass (Finished creating markers for com.dcx.ivkmds.application.ass)

 

Line 370: 14:10:32 Project=com.dcx.ivkmds.fwk.test.ass, kind of build requested=Full AspectJ compilation

Line 387: 14:18:45 Types affected during build = 24

Line 390; 14:18:46 Timer event: 493759ms: Total time spent in AJBuilder.build() -> more than 8 minutes!

 

Line 701: 14:21:10 Timer event: 62468ms: Create markers: com.dcx.ivkmds.fwk.test.ass (Finished creating markers for com.dcx.ivkmds.fwk.test.ass)

 

I figure that the types in these projects have a lot of joinpoints. Is there any place where I can see the number of joinpoints in these projects?

 

Actually, the number of types involved isn’t very high I would say.

 

So the question is are these compile / weave times normal? For us it is a major problem when the time to rebuild the whole workspace takes 38 minutes.

 

Is there anything I could try to do to improve the performance besides reducing the number of joinpoints?

 

I really like the benefit AspectJ provides but under these circumstances it is very unpleasant and difficult to work with it.

 

I’m looking forward to your reply.

 

Regards,

 

Thomas

 

 



_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

AJDT Trace - ivk + tests - defaul level (425K) Download Attachment

Re: Overall problem with AJDT performance

by Andy Clement :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Thomas,

Those build times do look unreasonable.  Do you do product builds
outside of eclipse (perhaps Ant driven) - do these builds exhibit the
same issue?

I've never seen a project build take 12minutes so clearly something
unusual is happening.  I presume all your aspects are using well
written pointcuts that involve scoping within() clauses and don't just
attempt matching with just kinded pointcuts (like execution).  To see
all the affected joinpoints in one place, you can turn on the
weaveinfo info messages for the project.  Are you using ITDs?

I think we need more visibility into the build time - I could do you a
debug build of the plugins that will include extra stats about where
the time goes.  (Or even better you could do a yourkit profile and
send it to me? That would make it obvious).

Oh, and is your eclipse running tight on memory?  I wondered if you
were running near the limit and it was thrashing.

Andy


2009/10/8 Thomas Hofmann <email@...>:

> Hi Andy, Andrew J
>
>
>
> I’m still having problems with the performance of AJDT and AspectJ in my
> workspace.
>
>
>
> Let me start by describing my environment:
>
>
>
> Thinkpad T61p
>
>
>
> Eclipse Java EE IDE for Web Developers.
>
> Version: 1.2.0.20090621-0820
>
> Build id: 20090621-0832
>
> based on Eclipse 3.5.0
>
>
>
> Version: 2.0.1.e35x-20091001-1600
>
> AspectJ version: 1.6.6.20090930185500
>
>
>
> The workspace contains about 148 Java projects (and some others like
> features, project set projects etc.)
>
>
>
> I disabled Build Automatically, restarted Eclipse and then cleaned the whole
> workspace. Then I started the build with Build All. The AJDT trace was set
> to the default values and opened. It is attached to this mail.
>
>
>
> Here are the most relevant parts:
>
>
>
> Line 192: 13:50:34 Project=com.dcx.ivkmds.application.ass, kind of build
> requested=Full AspectJ compilation
>
> Line 208: 14:3:17 Types affected during build = 292
>
> Line 211:Timer event: 766396ms: Total time spent in AJBuilder.build() ->
> more than 12 minutes!
>
> Line 707: 14:22:6 Timer event: 117857ms: Create markers:
> com.dcx.ivkmds.application.ass (Finished creating markers for
> com.dcx.ivkmds.application.ass)
>
>
>
> Line 370: 14:10:32 Project=com.dcx.ivkmds.fwk.test.ass, kind of build
> requested=Full AspectJ compilation
>
> Line 387: 14:18:45 Types affected during build = 24
>
> Line 390; 14:18:46 Timer event: 493759ms: Total time spent in
> AJBuilder.build() -> more than 8 minutes!
>
>
>
> Line 701: 14:21:10 Timer event: 62468ms: Create markers:
> com.dcx.ivkmds.fwk.test.ass (Finished creating markers for
> com.dcx.ivkmds.fwk.test.ass)
>
>
>
> I figure that the types in these projects have a lot of joinpoints. Is there
> any place where I can see the number of joinpoints in these projects?
>
>
>
> Actually, the number of types involved isn’t very high I would say.
>
>
>
> So the question is are these compile / weave times normal? For us it is a
> major problem when the time to rebuild the whole workspace takes 38 minutes.
>
>
>
> Is there anything I could try to do to improve the performance besides
> reducing the number of joinpoints?
>
>
>
> I really like the benefit AspectJ provides but under these circumstances it
> is very unpleasant and difficult to work with it.
>
>
>
> I’m looking forward to your reply.
>
>
>
> Regards,
>
>
>
> Thomas
>
>
>
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: Overall problem with AJDT performance

by Andrew Eisenberg :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

There is a possibility that the problem comes about with the way
AJDT's CoreOutputLocationManager converts from java.io.File objects to
org.eclipse.core.resources.IFile objects and back again.  When doing
your debug build, try to keep track of time spent in the
CoreOutputLocationManager.

If the builds are a bit faster outside of Eclipse, then that would be
a strong indicator of CoreOutputLocationManager behaving badly.

Thomas, are your projects using linked source folders?

Also, have you enabled weaveinfo messages to appear in your AJDT Event
trace view?  That might be able to show a little more about what the
compiler is doing.


On Thu, Oct 8, 2009 at 8:37 AM, Andy Clement <andrew.clement@...> wrote:

> Hi Thomas,
>
> Those build times do look unreasonable.  Do you do product builds
> outside of eclipse (perhaps Ant driven) - do these builds exhibit the
> same issue?
>
> I've never seen a project build take 12minutes so clearly something
> unusual is happening.  I presume all your aspects are using well
> written pointcuts that involve scoping within() clauses and don't just
> attempt matching with just kinded pointcuts (like execution).  To see
> all the affected joinpoints in one place, you can turn on the
> weaveinfo info messages for the project.  Are you using ITDs?
>
> I think we need more visibility into the build time - I could do you a
> debug build of the plugins that will include extra stats about where
> the time goes.  (Or even better you could do a yourkit profile and
> send it to me? That would make it obvious).
>
> Oh, and is your eclipse running tight on memory?  I wondered if you
> were running near the limit and it was thrashing.
>
> Andy
>
>
> 2009/10/8 Thomas Hofmann <email@...>:
>> Hi Andy, Andrew J
>>
>>
>>
>> I’m still having problems with the performance of AJDT and AspectJ in my
>> workspace.
>>
>>
>>
>> Let me start by describing my environment:
>>
>>
>>
>> Thinkpad T61p
>>
>>
>>
>> Eclipse Java EE IDE for Web Developers.
>>
>> Version: 1.2.0.20090621-0820
>>
>> Build id: 20090621-0832
>>
>> based on Eclipse 3.5.0
>>
>>
>>
>> Version: 2.0.1.e35x-20091001-1600
>>
>> AspectJ version: 1.6.6.20090930185500
>>
>>
>>
>> The workspace contains about 148 Java projects (and some others like
>> features, project set projects etc.)
>>
>>
>>
>> I disabled Build Automatically, restarted Eclipse and then cleaned the whole
>> workspace. Then I started the build with Build All. The AJDT trace was set
>> to the default values and opened. It is attached to this mail.
>>
>>
>>
>> Here are the most relevant parts:
>>
>>
>>
>> Line 192: 13:50:34 Project=com.dcx.ivkmds.application.ass, kind of build
>> requested=Full AspectJ compilation
>>
>> Line 208: 14:3:17 Types affected during build = 292
>>
>> Line 211:Timer event: 766396ms: Total time spent in AJBuilder.build() ->
>> more than 12 minutes!
>>
>> Line 707: 14:22:6 Timer event: 117857ms: Create markers:
>> com.dcx.ivkmds.application.ass (Finished creating markers for
>> com.dcx.ivkmds.application.ass)
>>
>>
>>
>> Line 370: 14:10:32 Project=com.dcx.ivkmds.fwk.test.ass, kind of build
>> requested=Full AspectJ compilation
>>
>> Line 387: 14:18:45 Types affected during build = 24
>>
>> Line 390; 14:18:46 Timer event: 493759ms: Total time spent in
>> AJBuilder.build() -> more than 8 minutes!
>>
>>
>>
>> Line 701: 14:21:10 Timer event: 62468ms: Create markers:
>> com.dcx.ivkmds.fwk.test.ass (Finished creating markers for
>> com.dcx.ivkmds.fwk.test.ass)
>>
>>
>>
>> I figure that the types in these projects have a lot of joinpoints. Is there
>> any place where I can see the number of joinpoints in these projects?
>>
>>
>>
>> Actually, the number of types involved isn’t very high I would say.
>>
>>
>>
>> So the question is are these compile / weave times normal? For us it is a
>> major problem when the time to rebuild the whole workspace takes 38 minutes.
>>
>>
>>
>> Is there anything I could try to do to improve the performance besides
>> reducing the number of joinpoints?
>>
>>
>>
>> I really like the benefit AspectJ provides but under these circumstances it
>> is very unpleasant and difficult to work with it.
>>
>>
>>
>> I’m looking forward to your reply.
>>
>>
>>
>> Regards,
>>
>>
>>
>> Thomas
>>
>>
>>
>>
>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@...
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

RE: Overall problem with AJDT performance

by thofmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Andy,

yes we have Ant driven builds. One for the Rich Client Application (based on Eclipse RCP) and one for the J2EE server part that produces an EAR file.
The former runs about 12-15 minutes but it does not contain the projects with .ass. in the project / package names. The project that took more than 12 minutes to build was one of these server projects. The other one was a test project which also isn't part of the client build. The creation of the EAR file uses Ant tasks that take what is already compiled in the eclipse workspace so I have no other numbers for that part.

I'm not sure if my pointcuts are well written. My experience with AspectJ is not that big. Anyway, I can say that the aspects that are woven into the application.ass project (the one that takes more than 12 minutes) don't use within().I'm not quite sure what would be the benefit of using within. Almost all classes in the project need to have the advice applied.

I'm using mostly execution and call together with matching based on types.

Let me give you some more details for the most problematic project:
com.dcx.ivkmds.application.ass

It contains repositories that handle persistence using Hibernate internally. There is a Java interface and an implementation based on Hibernate for each repository. In addition there are some utility classes but only a few.

I don't see how within() would make much difference in terms of types affected (but of course I would like to learn if I'm wrong).

The aspects that are applied reside in another project: com.dcx.ivkmds.fwk.ass. This a part of our "framework". The aspects in this project apply to other projects that make use of the framework, not just to com.dcx.ivkmds.application.ass.

com.dcx.ivkmds.fwk.ass contains the following aspects:

AssComponentAspect:
Contains ITDs for all classes that implement the AssComponent interface.

BaseSessionLifecycleControl:
Is an abstract aspect that contains an around advice to open and close the Hibernate session. It contains an abstract pointcut that subclasses of the aspect may you to specify the boundaries for Hibernate sessions.

SessionLifecycleControl:
A concrete subclass of BaseSessionLifecycleControl. It contains the pointcut that determines where the advice is to be applied.

MeasuringPoint:
Contains pointcuts and advice for performance logging.

DatabaseConnectionCustomization:
Contains two after advices and one before advice to make 3rd party JDBC driver specific calls on the JDBC connection when a new connection is retrieved.

DatabaseErrorTransformation:
Uses an around advice to add special error handling for exceptions from the database. The are inspected and transformed to application specific exception types.


Only the last three aspects apply to the classes in com.dcx.ivkmds.application.ass.

Will the other three aspects visible on the aspect path of com.dcx.ivkmds.application.ass have a great negative performance impact? Would this require within()?

What I don't like about within() is that it kind of turns dependencies around. If I need to specify within() in the aspects that are part of the framework I need to know what other parts of the framework make use of them.
I even have to make the clients of the framework visible to the framework. This would result in cycles I believe.

I would be glad to try out a debug build that would provide more insight into where the time is spent.
Regarding yourkit I can only say that I don't have a license for it. I could probably use the 15 day evalutation version but would need to get some instructions on how to configure it to filter the classes your are interessted in.

My eclipse wasn't running short of memory. Heap space was 1200 MB. During the build 600-900 MB were used (which is too much - but this is a different issue).

I can give you more details on the aspects but I don't want to spam the mailing list. So please tell me if you think this is the right place to discuss these issues. I could also open a bug in bugzilla or we could use direct email or skype for example to exchange further details.
Posting lots of source code to the mailing list or bugzilla is not what I want to do. I would prefer direct (not public) communication for this.

Do you see any obvious problems with the setup I described above?

Regards,

Thomas


-----Original Message-----
From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
Sent: Donnerstag, 8. Oktober 2009 17:37
To: aspectj-users@...
Subject: Re: [aspectj-users] Overall problem with AJDT performance

Hi Thomas,

Those build times do look unreasonable.  Do you do product builds
outside of eclipse (perhaps Ant driven) - do these builds exhibit the
same issue?

I've never seen a project build take 12minutes so clearly something
unusual is happening.  I presume all your aspects are using well
written pointcuts that involve scoping within() clauses and don't just
attempt matching with just kinded pointcuts (like execution).  To see
all the affected joinpoints in one place, you can turn on the
weaveinfo info messages for the project.  Are you using ITDs?

I think we need more visibility into the build time - I could do you a
debug build of the plugins that will include extra stats about where
the time goes.  (Or even better you could do a yourkit profile and
send it to me? That would make it obvious).

Oh, and is your eclipse running tight on memory?  I wondered if you
were running near the limit and it was thrashing.

Andy


2009/10/8 Thomas Hofmann <email@...>:

> Hi Andy, Andrew J
>
>
>
> I'm still having problems with the performance of AJDT and AspectJ in my
> workspace.
>
>
>
> Let me start by describing my environment:
>
>
>
> Thinkpad T61p
>
>
>
> Eclipse Java EE IDE for Web Developers.
>
> Version: 1.2.0.20090621-0820
>
> Build id: 20090621-0832
>
> based on Eclipse 3.5.0
>
>
>
> Version: 2.0.1.e35x-20091001-1600
>
> AspectJ version: 1.6.6.20090930185500
>
>
>
> The workspace contains about 148 Java projects (and some others like
> features, project set projects etc.)
>
>
>
> I disabled Build Automatically, restarted Eclipse and then cleaned the whole
> workspace. Then I started the build with Build All. The AJDT trace was set
> to the default values and opened. It is attached to this mail.
>
>
>
> Here are the most relevant parts:
>
>
>
> Line 192: 13:50:34 Project=com.dcx.ivkmds.application.ass, kind of build
> requested=Full AspectJ compilation
>
> Line 208: 14:3:17 Types affected during build = 292
>
> Line 211:Timer event: 766396ms: Total time spent in AJBuilder.build() ->
> more than 12 minutes!
>
> Line 707: 14:22:6 Timer event: 117857ms: Create markers:
> com.dcx.ivkmds.application.ass (Finished creating markers for
> com.dcx.ivkmds.application.ass)
>
>
>
> Line 370: 14:10:32 Project=com.dcx.ivkmds.fwk.test.ass, kind of build
> requested=Full AspectJ compilation
>
> Line 387: 14:18:45 Types affected during build = 24
>
> Line 390; 14:18:46 Timer event: 493759ms: Total time spent in
> AJBuilder.build() -> more than 8 minutes!
>
>
>
> Line 701: 14:21:10 Timer event: 62468ms: Create markers:
> com.dcx.ivkmds.fwk.test.ass (Finished creating markers for
> com.dcx.ivkmds.fwk.test.ass)
>
>
>
> I figure that the types in these projects have a lot of joinpoints. Is there
> any place where I can see the number of joinpoints in these projects?
>
>
>
> Actually, the number of types involved isn't very high I would say.
>
>
>
> So the question is are these compile / weave times normal? For us it is a
> major problem when the time to rebuild the whole workspace takes 38 minutes.
>
>
>
> Is there anything I could try to do to improve the performance besides
> reducing the number of joinpoints?
>
>
>
> I really like the benefit AspectJ provides but under these circumstances it
> is very unpleasant and difficult to work with it.
>
>
>
> I'm looking forward to your reply.
>
>
>
> Regards,
>
>
>
> Thomas
>
>
>
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

RE: Overall problem with AJDT performance

by thofmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Andrew,

I just replied to Andy his mailing. In that reply I am saying that I cannot realy compare times inside eclipse and outside of eclipse.

The projects are not using linked source folders.

You are asking whether I have weaveinfo messages turned on. Which category do I have to enable for this? I think they were of because I wanted to have only the times for each project when I did the full build. You can see what was turned on by looking at the AJDT event trace I attached.

When I turn on all categories I get very much output. Of course I can turn on everything if I know what to look for in this case.

Regards,

Thomas

-----Original Message-----
From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andrew Eisenberg
Sent: Donnerstag, 8. Oktober 2009 18:04
To: aspectj-users@...
Subject: Re: [aspectj-users] Overall problem with AJDT performance

There is a possibility that the problem comes about with the way
AJDT's CoreOutputLocationManager converts from java.io.File objects to
org.eclipse.core.resources.IFile objects and back again.  When doing
your debug build, try to keep track of time spent in the
CoreOutputLocationManager.

If the builds are a bit faster outside of Eclipse, then that would be
a strong indicator of CoreOutputLocationManager behaving badly.

Thomas, are your projects using linked source folders?

Also, have you enabled weaveinfo messages to appear in your AJDT Event
trace view?  That might be able to show a little more about what the
compiler is doing.


On Thu, Oct 8, 2009 at 8:37 AM, Andy Clement <andrew.clement@...> wrote:

> Hi Thomas,
>
> Those build times do look unreasonable.  Do you do product builds
> outside of eclipse (perhaps Ant driven) - do these builds exhibit the
> same issue?
>
> I've never seen a project build take 12minutes so clearly something
> unusual is happening.  I presume all your aspects are using well
> written pointcuts that involve scoping within() clauses and don't just
> attempt matching with just kinded pointcuts (like execution).  To see
> all the affected joinpoints in one place, you can turn on the
> weaveinfo info messages for the project.  Are you using ITDs?
>
> I think we need more visibility into the build time - I could do you a
> debug build of the plugins that will include extra stats about where
> the time goes.  (Or even better you could do a yourkit profile and
> send it to me? That would make it obvious).
>
> Oh, and is your eclipse running tight on memory?  I wondered if you
> were running near the limit and it was thrashing.
>
> Andy
>
>
> 2009/10/8 Thomas Hofmann <email@...>:
>> Hi Andy, Andrew J
>>
>>
>>
>> I'm still having problems with the performance of AJDT and AspectJ in my
>> workspace.
>>
>>
>>
>> Let me start by describing my environment:
>>
>>
>>
>> Thinkpad T61p
>>
>>
>>
>> Eclipse Java EE IDE for Web Developers.
>>
>> Version: 1.2.0.20090621-0820
>>
>> Build id: 20090621-0832
>>
>> based on Eclipse 3.5.0
>>
>>
>>
>> Version: 2.0.1.e35x-20091001-1600
>>
>> AspectJ version: 1.6.6.20090930185500
>>
>>
>>
>> The workspace contains about 148 Java projects (and some others like
>> features, project set projects etc.)
>>
>>
>>
>> I disabled Build Automatically, restarted Eclipse and then cleaned the whole
>> workspace. Then I started the build with Build All. The AJDT trace was set
>> to the default values and opened. It is attached to this mail.
>>
>>
>>
>> Here are the most relevant parts:
>>
>>
>>
>> Line 192: 13:50:34 Project=com.dcx.ivkmds.application.ass, kind of build
>> requested=Full AspectJ compilation
>>
>> Line 208: 14:3:17 Types affected during build = 292
>>
>> Line 211:Timer event: 766396ms: Total time spent in AJBuilder.build() ->
>> more than 12 minutes!
>>
>> Line 707: 14:22:6 Timer event: 117857ms: Create markers:
>> com.dcx.ivkmds.application.ass (Finished creating markers for
>> com.dcx.ivkmds.application.ass)
>>
>>
>>
>> Line 370: 14:10:32 Project=com.dcx.ivkmds.fwk.test.ass, kind of build
>> requested=Full AspectJ compilation
>>
>> Line 387: 14:18:45 Types affected during build = 24
>>
>> Line 390; 14:18:46 Timer event: 493759ms: Total time spent in
>> AJBuilder.build() -> more than 8 minutes!
>>
>>
>>
>> Line 701: 14:21:10 Timer event: 62468ms: Create markers:
>> com.dcx.ivkmds.fwk.test.ass (Finished creating markers for
>> com.dcx.ivkmds.fwk.test.ass)
>>
>>
>>
>> I figure that the types in these projects have a lot of joinpoints. Is there
>> any place where I can see the number of joinpoints in these projects?
>>
>>
>>
>> Actually, the number of types involved isn't very high I would say.
>>
>>
>>
>> So the question is are these compile / weave times normal? For us it is a
>> major problem when the time to rebuild the whole workspace takes 38 minutes.
>>
>>
>>
>> Is there anything I could try to do to improve the performance besides
>> reducing the number of joinpoints?
>>
>>
>>
>> I really like the benefit AspectJ provides but under these circumstances it
>> is very unpleasant and difficult to work with it.
>>
>>
>>
>> I'm looking forward to your reply.
>>
>>
>>
>> Regards,
>>
>>
>>
>> Thomas
>>
>>
>>
>>
>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@...
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: Overall problem with AJDT performance

by Andrew Eisenberg :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

One potential solution here is to make the aspects in your aspect
libraries abstract.  These abstract apsects will have an abstract
pointcut to be implemented in projects that put the aspect library on
the aspect path.  This abstract pointcut could provide the scoping.

I have to head out now, but I'll respond to other parts of your email soon.


On Fri, Oct 9, 2009 at 12:05 AM, Thomas Hofmann <email@...> wrote:
> Will the other three aspects visible on the aspect path of com.dcx.ivkmds.application.ass have a great negative performance impact? Would this require within()?
>
> What I don't like about within() is that it kind of turns dependencies around. If I need to specify within() in the aspects that are part of the framework I need to know what other parts of the framework make use of them.
> I even have to make the clients of the framework visible to the framework. This would result in cycles I believe.
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: Overall problem with AJDT performance

by Andy Clement :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Thomas,

I've put a zip up on our download site containing two jars that
produce timing information.  The zip is here:

http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ.zip

It contains jars ajde.jar and aspectjweaver.jar

These are replacements for the jars in your org.aspectj.ajde and
org.aspectj.weaver plugins (in your eclipse plugins folder).  So
backup the jars you have and replace them with these.

Now run your eclipse with the console view (-consolelog).

When you build a project you should then see per build output like
this (I built a 1000 file project here as an example:)

Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=4ms
> reweavable processing=10ms
> verifying consistency=6ms
> weaving aspects=454ms
> weaving classes=27433ms
  for those two weave steps, time spent pre-post calling the
individual type weaver instance: 916ms
> weaving normal itds=45ms
> weaving structural itds=56ms

Breakdown of time spent in type weaver instances:
class prep = 154ms
typeWeaving = 32ms
decaWeaving = 19ms
fastShadowMatching = 56ms
shadowMatching = 19303ms
shadowWeaving = 0ms
postWeave = 789ms
Total =20356ms

Timing: time spent in pipeline weaving: 31963ms
Timing ------------

That initial information will enable us to go into the right area
next.  Feel free to start emailing me directly rather than using the
list, or raise a bug and we can communicate through that.  Oh, I would
turn off build automatically and just build a single project so we
know what we are dealing with.  I guess it doesn't matter which, just
one you think is taking too long (I'd saying anything over a 1 or 2
minutes is too long).

Your use of 'call()' is interesting and the fact that you get that
Xlint out.  But let's start with this.  I guess we are currently going
to suspect your shadowMatching time will be large.  Then we can look
at which parts of shadowmatching are taking a long time.  The use of
within() rather than relying on the declaring type in an execution()
pointcut to limit what is woven would enable the fastMatching time
above to increase and the shadowMatching time to decrease because
within() supports fast match and execution does not.  within() and
call() is not such a useful combination.  I might rework these timers
into something more permanent in the codebase.

Andy

2009/10/9 Thomas Hofmann <email@...>:

> Hi Andy,
>
> yes we have Ant driven builds. One for the Rich Client Application (based on Eclipse RCP) and one for the J2EE server part that produces an EAR file.
> The former runs about 12-15 minutes but it does not contain the projects with .ass. in the project / package names. The project that took more than 12 minutes to build was one of these server projects. The other one was a test project which also isn't part of the client build. The creation of the EAR file uses Ant tasks that take what is already compiled in the eclipse workspace so I have no other numbers for that part.
>
> I'm not sure if my pointcuts are well written. My experience with AspectJ is not that big. Anyway, I can say that the aspects that are woven into the application.ass project (the one that takes more than 12 minutes) don't use within().I'm not quite sure what would be the benefit of using within. Almost all classes in the project need to have the advice applied.
>
> I'm using mostly execution and call together with matching based on types.
>
> Let me give you some more details for the most problematic project:
> com.dcx.ivkmds.application.ass
>
> It contains repositories that handle persistence using Hibernate internally. There is a Java interface and an implementation based on Hibernate for each repository. In addition there are some utility classes but only a few.
>
> I don't see how within() would make much difference in terms of types affected (but of course I would like to learn if I'm wrong).
>
> The aspects that are applied reside in another project: com.dcx.ivkmds.fwk.ass. This a part of our "framework". The aspects in this project apply to other projects that make use of the framework, not just to com.dcx.ivkmds.application.ass.
>
> com.dcx.ivkmds.fwk.ass contains the following aspects:
>
> AssComponentAspect:
> Contains ITDs for all classes that implement the AssComponent interface.
>
> BaseSessionLifecycleControl:
> Is an abstract aspect that contains an around advice to open and close the Hibernate session. It contains an abstract pointcut that subclasses of the aspect may you to specify the boundaries for Hibernate sessions.
>
> SessionLifecycleControl:
> A concrete subclass of BaseSessionLifecycleControl. It contains the pointcut that determines where the advice is to be applied.
>
> MeasuringPoint:
> Contains pointcuts and advice for performance logging.
>
> DatabaseConnectionCustomization:
> Contains two after advices and one before advice to make 3rd party JDBC driver specific calls on the JDBC connection when a new connection is retrieved.
>
> DatabaseErrorTransformation:
> Uses an around advice to add special error handling for exceptions from the database. The are inspected and transformed to application specific exception types.
>
>
> Only the last three aspects apply to the classes in com.dcx.ivkmds.application.ass.
>
> Will the other three aspects visible on the aspect path of com.dcx.ivkmds.application.ass have a great negative performance impact? Would this require within()?
>
> What I don't like about within() is that it kind of turns dependencies around. If I need to specify within() in the aspects that are part of the framework I need to know what other parts of the framework make use of them.
> I even have to make the clients of the framework visible to the framework. This would result in cycles I believe.
>
> I would be glad to try out a debug build that would provide more insight into where the time is spent.
> Regarding yourkit I can only say that I don't have a license for it. I could probably use the 15 day evalutation version but would need to get some instructions on how to configure it to filter the classes your are interessted in.
>
> My eclipse wasn't running short of memory. Heap space was 1200 MB. During the build 600-900 MB were used (which is too much - but this is a different issue).
>
> I can give you more details on the aspects but I don't want to spam the mailing list. So please tell me if you think this is the right place to discuss these issues. I could also open a bug in bugzilla or we could use direct email or skype for example to exchange further details.
> Posting lots of source code to the mailing list or bugzilla is not what I want to do. I would prefer direct (not public) communication for this.
>
> Do you see any obvious problems with the setup I described above?
>
> Regards,
>
> Thomas
>
>
> -----Original Message-----
> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
> Sent: Donnerstag, 8. Oktober 2009 17:37
> To: aspectj-users@...
> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>
> Hi Thomas,
>
> Those build times do look unreasonable.  Do you do product builds
> outside of eclipse (perhaps Ant driven) - do these builds exhibit the
> same issue?
>
> I've never seen a project build take 12minutes so clearly something
> unusual is happening.  I presume all your aspects are using well
> written pointcuts that involve scoping within() clauses and don't just
> attempt matching with just kinded pointcuts (like execution).  To see
> all the affected joinpoints in one place, you can turn on the
> weaveinfo info messages for the project.  Are you using ITDs?
>
> I think we need more visibility into the build time - I could do you a
> debug build of the plugins that will include extra stats about where
> the time goes.  (Or even better you could do a yourkit profile and
> send it to me? That would make it obvious).
>
> Oh, and is your eclipse running tight on memory?  I wondered if you
> were running near the limit and it was thrashing.
>
> Andy
>
>
> 2009/10/8 Thomas Hofmann <email@...>:
>> Hi Andy, Andrew J
>>
>>
>>
>> I'm still having problems with the performance of AJDT and AspectJ in my
>> workspace.
>>
>>
>>
>> Let me start by describing my environment:
>>
>>
>>
>> Thinkpad T61p
>>
>>
>>
>> Eclipse Java EE IDE for Web Developers.
>>
>> Version: 1.2.0.20090621-0820
>>
>> Build id: 20090621-0832
>>
>> based on Eclipse 3.5.0
>>
>>
>>
>> Version: 2.0.1.e35x-20091001-1600
>>
>> AspectJ version: 1.6.6.20090930185500
>>
>>
>>
>> The workspace contains about 148 Java projects (and some others like
>> features, project set projects etc.)
>>
>>
>>
>> I disabled Build Automatically, restarted Eclipse and then cleaned the whole
>> workspace. Then I started the build with Build All. The AJDT trace was set
>> to the default values and opened. It is attached to this mail.
>>
>>
>>
>> Here are the most relevant parts:
>>
>>
>>
>> Line 192: 13:50:34 Project=com.dcx.ivkmds.application.ass, kind of build
>> requested=Full AspectJ compilation
>>
>> Line 208: 14:3:17 Types affected during build = 292
>>
>> Line 211:Timer event: 766396ms: Total time spent in AJBuilder.build() ->
>> more than 12 minutes!
>>
>> Line 707: 14:22:6 Timer event: 117857ms: Create markers:
>> com.dcx.ivkmds.application.ass (Finished creating markers for
>> com.dcx.ivkmds.application.ass)
>>
>>
>>
>> Line 370: 14:10:32 Project=com.dcx.ivkmds.fwk.test.ass, kind of build
>> requested=Full AspectJ compilation
>>
>> Line 387: 14:18:45 Types affected during build = 24
>>
>> Line 390; 14:18:46 Timer event: 493759ms: Total time spent in
>> AJBuilder.build() -> more than 8 minutes!
>>
>>
>>
>> Line 701: 14:21:10 Timer event: 62468ms: Create markers:
>> com.dcx.ivkmds.fwk.test.ass (Finished creating markers for
>> com.dcx.ivkmds.fwk.test.ass)
>>
>>
>>
>> I figure that the types in these projects have a lot of joinpoints. Is there
>> any place where I can see the number of joinpoints in these projects?
>>
>>
>>
>> Actually, the number of types involved isn't very high I would say.
>>
>>
>>
>> So the question is are these compile / weave times normal? For us it is a
>> major problem when the time to rebuild the whole workspace takes 38 minutes.
>>
>>
>>
>> Is there anything I could try to do to improve the performance besides
>> reducing the number of joinpoints?
>>
>>
>>
>> I really like the benefit AspectJ provides but under these circumstances it
>> is very unpleasant and difficult to work with it.
>>
>>
>>
>> I'm looking forward to your reply.
>>
>>
>>
>> Regards,
>>
>>
>>
>> Thomas
>>
>>
>>
>>
>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@...
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

RE: Overall problem with AJDT performance

by thofmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Andy,

thanks for the zips. Here is a first result:

21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
21:59:2 ===========================================================================================
21:59:2 Build kind = FULLBUILD
21:59:2 Project=com.dcx.ivkmds.fwk.test.ass, kind of build requested=Full AspectJ compilation
21:59:2 Timer event: 0ms: Flush included source file cache
21:59:2 Timer event: 0ms: Check delta
21:59:2 Builder: Tidied output folder(s), removed class files and derived resources
21:59:2 Timer event: 526ms: Pre compile
21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass has been read by compiler.  Resetting.
21:59:2      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

21:59:2 Resetting list of modified source files.  Was null
21:59:2 Preparing for build: not going to be incremental because no successful previous full build
21:59:4 Timer event: 1141ms: Time to first compiled message
21:59:4 Timer event: 1974ms: Time to first woven message
22:1:9 AspectJ reports build successful, build was: FULL
22:1:9 AJDE Callback: finish. Was full build: true
22:1:9 Timer event: 126764ms: Total time spent in AJDE
22:1:9 Timer event: 0ms: Refresh after build
22:1:9 Types affected during build = 24
22:1:9 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.ass
22:1:9 Timer event: 127389ms: Total time spent in AJBuilder.build()
22:1:9 Timer event: 16ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
22:1:9 Timer event: 20ms: Delete markers: com.dcx.ivkmds._00_fwktest.ass (Finished deleting markers for com.dcx.ivkmds._00_fwktest.ass)
22:1:13 Timer event: 3915ms: Create markers: com.dcx.ivkmds._00_fwktest.ass (Finished creating markers for com.dcx.ivkmds._00_fwktest.ass)
22:1:13 Created 179 markers in 4 files
22:1:16 Timer event: 12ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
22:1:16 Timer event: 175ms: Delete markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished deleting markers for com.dcx.ivkmds.common.businessobjects.fwktest)
22:1:19 Timer event: 2941ms: Create markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished creating markers for com.dcx.ivkmds.common.businessobjects.fwktest)
22:1:19 Created 111 markers in 32 files
22:1:24 Timer event: 7906ms: Create markers: com.dcx.ivkmds.fwk.test.ass (Finished creating markers for com.dcx.ivkmds.fwk.test.ass)
22:1:24 Created 572 markers in 24 files


Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=1ms
> weaving aspects=828ms
> weaving classes=123344ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 37ms
> weaving normal itds=24ms
> weaving structural itds=1ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 122806ms
shadowWeaving = 0ms
postWeave = 3ms
Total =122811ms

Timing: time spent in pipeline weaving: 124700ms
Timing ------------


More later...




-----Original Message-----
From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
Sent: Freitag, 9. Oktober 2009 17:57
To: aspectj-users@...
Subject: Re: [aspectj-users] Overall problem with AJDT performance

Hi Thomas,

I've put a zip up on our download site containing two jars that
produce timing information.  The zip is here:

http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ.zip

It contains jars ajde.jar and aspectjweaver.jar

These are replacements for the jars in your org.aspectj.ajde and
org.aspectj.weaver plugins (in your eclipse plugins folder).  So
backup the jars you have and replace them with these.

Now run your eclipse with the console view (-consolelog).

When you build a project you should then see per build output like
this (I built a 1000 file project here as an example:)

Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=4ms
> reweavable processing=10ms
> verifying consistency=6ms
> weaving aspects=454ms
> weaving classes=27433ms
  for those two weave steps, time spent pre-post calling the
individual type weaver instance: 916ms
> weaving normal itds=45ms
> weaving structural itds=56ms

Breakdown of time spent in type weaver instances:
class prep = 154ms
typeWeaving = 32ms
decaWeaving = 19ms
fastShadowMatching = 56ms
shadowMatching = 19303ms
shadowWeaving = 0ms
postWeave = 789ms
Total =20356ms

Timing: time spent in pipeline weaving: 31963ms
Timing ------------

That initial information will enable us to go into the right area
next.  Feel free to start emailing me directly rather than using the
list, or raise a bug and we can communicate through that.  Oh, I would
turn off build automatically and just build a single project so we
know what we are dealing with.  I guess it doesn't matter which, just
one you think is taking too long (I'd saying anything over a 1 or 2
minutes is too long).

Your use of 'call()' is interesting and the fact that you get that
Xlint out.  But let's start with this.  I guess we are currently going
to suspect your shadowMatching time will be large.  Then we can look
at which parts of shadowmatching are taking a long time.  The use of
within() rather than relying on the declaring type in an execution()
pointcut to limit what is woven would enable the fastMatching time
above to increase and the shadowMatching time to decrease because
within() supports fast match and execution does not.  within() and
call() is not such a useful combination.  I might rework these timers
into something more permanent in the codebase.

Andy

2009/10/9 Thomas Hofmann <email@...>:

> Hi Andy,
>
> yes we have Ant driven builds. One for the Rich Client Application (based on Eclipse RCP) and one for the J2EE server part that produces an EAR file.
> The former runs about 12-15 minutes but it does not contain the projects with .ass. in the project / package names. The project that took more than 12 minutes to build was one of these server projects. The other one was a test project which also isn't part of the client build. The creation of the EAR file uses Ant tasks that take what is already compiled in the eclipse workspace so I have no other numbers for that part.
>
> I'm not sure if my pointcuts are well written. My experience with AspectJ is not that big. Anyway, I can say that the aspects that are woven into the application.ass project (the one that takes more than 12 minutes) don't use within().I'm not quite sure what would be the benefit of using within. Almost all classes in the project need to have the advice applied.
>
> I'm using mostly execution and call together with matching based on types.
>
> Let me give you some more details for the most problematic project:
> com.dcx.ivkmds.application.ass
>
> It contains repositories that handle persistence using Hibernate internally. There is a Java interface and an implementation based on Hibernate for each repository. In addition there are some utility classes but only a few.
>
> I don't see how within() would make much difference in terms of types affected (but of course I would like to learn if I'm wrong).
>
> The aspects that are applied reside in another project: com.dcx.ivkmds.fwk.ass. This a part of our "framework". The aspects in this project apply to other projects that make use of the framework, not just to com.dcx.ivkmds.application.ass.
>
> com.dcx.ivkmds.fwk.ass contains the following aspects:
>
> AssComponentAspect:
> Contains ITDs for all classes that implement the AssComponent interface.
>
> BaseSessionLifecycleControl:
> Is an abstract aspect that contains an around advice to open and close the Hibernate session. It contains an abstract pointcut that subclasses of the aspect may you to specify the boundaries for Hibernate sessions.
>
> SessionLifecycleControl:
> A concrete subclass of BaseSessionLifecycleControl. It contains the pointcut that determines where the advice is to be applied.
>
> MeasuringPoint:
> Contains pointcuts and advice for performance logging.
>
> DatabaseConnectionCustomization:
> Contains two after advices and one before advice to make 3rd party JDBC driver specific calls on the JDBC connection when a new connection is retrieved.
>
> DatabaseErrorTransformation:
> Uses an around advice to add special error handling for exceptions from the database. The are inspected and transformed to application specific exception types.
>
>
> Only the last three aspects apply to the classes in com.dcx.ivkmds.application.ass.
>
> Will the other three aspects visible on the aspect path of com.dcx.ivkmds.application.ass have a great negative performance impact? Would this require within()?
>
> What I don't like about within() is that it kind of turns dependencies around. If I need to specify within() in the aspects that are part of the framework I need to know what other parts of the framework make use of them.
> I even have to make the clients of the framework visible to the framework. This would result in cycles I believe.
>
> I would be glad to try out a debug build that would provide more insight into where the time is spent.
> Regarding yourkit I can only say that I don't have a license for it. I could probably use the 15 day evalutation version but would need to get some instructions on how to configure it to filter the classes your are interessted in.
>
> My eclipse wasn't running short of memory. Heap space was 1200 MB. During the build 600-900 MB were used (which is too much - but this is a different issue).
>
> I can give you more details on the aspects but I don't want to spam the mailing list. So please tell me if you think this is the right place to discuss these issues. I could also open a bug in bugzilla or we could use direct email or skype for example to exchange further details.
> Posting lots of source code to the mailing list or bugzilla is not what I want to do. I would prefer direct (not public) communication for this.
>
> Do you see any obvious problems with the setup I described above?
>
> Regards,
>
> Thomas
>
>
> -----Original Message-----
> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
> Sent: Donnerstag, 8. Oktober 2009 17:37
> To: aspectj-users@...
> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>
> Hi Thomas,
>
> Those build times do look unreasonable.  Do you do product builds
> outside of eclipse (perhaps Ant driven) - do these builds exhibit the
> same issue?
>
> I've never seen a project build take 12minutes so clearly something
> unusual is happening.  I presume all your aspects are using well
> written pointcuts that involve scoping within() clauses and don't just
> attempt matching with just kinded pointcuts (like execution).  To see
> all the affected joinpoints in one place, you can turn on the
> weaveinfo info messages for the project.  Are you using ITDs?
>
> I think we need more visibility into the build time - I could do you a
> debug build of the plugins that will include extra stats about where
> the time goes.  (Or even better you could do a yourkit profile and
> send it to me? That would make it obvious).
>
> Oh, and is your eclipse running tight on memory?  I wondered if you
> were running near the limit and it was thrashing.
>
> Andy
>
>
> 2009/10/8 Thomas Hofmann <email@...>:
>> Hi Andy, Andrew J
>>
>>
>>
>> I'm still having problems with the performance of AJDT and AspectJ in my
>> workspace.
>>
>>
>>
>> Let me start by describing my environment:
>>
>>
>>
>> Thinkpad T61p
>>
>>
>>
>> Eclipse Java EE IDE for Web Developers.
>>
>> Version: 1.2.0.20090621-0820
>>
>> Build id: 20090621-0832
>>
>> based on Eclipse 3.5.0
>>
>>
>>
>> Version: 2.0.1.e35x-20091001-1600
>>
>> AspectJ version: 1.6.6.20090930185500
>>
>>
>>
>> The workspace contains about 148 Java projects (and some others like
>> features, project set projects etc.)
>>
>>
>>
>> I disabled Build Automatically, restarted Eclipse and then cleaned the whole
>> workspace. Then I started the build with Build All. The AJDT trace was set
>> to the default values and opened. It is attached to this mail.
>>
>>
>>
>> Here are the most relevant parts:
>>
>>
>>
>> Line 192: 13:50:34 Project=com.dcx.ivkmds.application.ass, kind of build
>> requested=Full AspectJ compilation
>>
>> Line 208: 14:3:17 Types affected during build = 292
>>
>> Line 211:Timer event: 766396ms: Total time spent in AJBuilder.build() ->
>> more than 12 minutes!
>>
>> Line 707: 14:22:6 Timer event: 117857ms: Create markers:
>> com.dcx.ivkmds.application.ass (Finished creating markers for
>> com.dcx.ivkmds.application.ass)
>>
>>
>>
>> Line 370: 14:10:32 Project=com.dcx.ivkmds.fwk.test.ass, kind of build
>> requested=Full AspectJ compilation
>>
>> Line 387: 14:18:45 Types affected during build = 24
>>
>> Line 390; 14:18:46 Timer event: 493759ms: Total time spent in
>> AJBuilder.build() -> more than 8 minutes!
>>
>>
>>
>> Line 701: 14:21:10 Timer event: 62468ms: Create markers:
>> com.dcx.ivkmds.fwk.test.ass (Finished creating markers for
>> com.dcx.ivkmds.fwk.test.ass)
>>
>>
>>
>> I figure that the types in these projects have a lot of joinpoints. Is there
>> any place where I can see the number of joinpoints in these projects?
>>
>>
>>
>> Actually, the number of types involved isn't very high I would say.
>>
>>
>>
>> So the question is are these compile / weave times normal? For us it is a
>> major problem when the time to rebuild the whole workspace takes 38 minutes.
>>
>>
>>
>> Is there anything I could try to do to improve the performance besides
>> reducing the number of joinpoints?
>>
>>
>>
>> I really like the benefit AspectJ provides but under these circumstances it
>> is very unpleasant and difficult to work with it.
>>
>>
>>
>> I'm looking forward to your reply.
>>
>>
>>
>> Regards,
>>
>>
>>
>> Thomas
>>
>>
>>
>>
>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@...
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: Overall problem with AJDT performance

by Andy Clement :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I don't think you need to collect any more necessarily - we can spot
the culprit in that trace :)

> Breakdown of time spent in type weaver instances:
> class prep = 0ms
> typeWeaving = 0ms
> decaWeaving = 0ms
> fastShadowMatching = 0ms
> shadowMatching = 122806ms
> shadowWeaving = 0ms
> postWeave = 3ms
> Total =122811ms

As we suspected, it is matching.  Surprised the weaving time is 0
though.  And absolutely no fast matching.  That is where including
within() with any execution()s would help (if you can).

Next breakdown will be into where the shadow matching time is spent.
I imagine it is millions of potential call joinpoints.  I'll be in
touch with another timer zip shortly.

To turn off the xlint go to project properties, AspectJ compiler, and
turn off 'Unmatched super type in call pointcut designator'

Andy

2009/10/9 Thomas Hofmann <email@...>:

> Hi Andy,
>
> thanks for the zips. Here is a first result:
>
> 21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
> 21:59:2 ===========================================================================================
> 21:59:2 Build kind = FULLBUILD
> 21:59:2 Project=com.dcx.ivkmds.fwk.test.ass, kind of build requested=Full AspectJ compilation
> 21:59:2 Timer event: 0ms: Flush included source file cache
> 21:59:2 Timer event: 0ms: Check delta
> 21:59:2 Builder: Tidied output folder(s), removed class files and derived resources
> 21:59:2 Timer event: 526ms: Pre compile
> 21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass has been read by compiler.  Resetting.
> 21:59:2      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
>
> 21:59:2 Resetting list of modified source files.  Was null
> 21:59:2 Preparing for build: not going to be incremental because no successful previous full build
> 21:59:4 Timer event: 1141ms: Time to first compiled message
> 21:59:4 Timer event: 1974ms: Time to first woven message
> 22:1:9 AspectJ reports build successful, build was: FULL
> 22:1:9 AJDE Callback: finish. Was full build: true
> 22:1:9 Timer event: 126764ms: Total time spent in AJDE
> 22:1:9 Timer event: 0ms: Refresh after build
> 22:1:9 Types affected during build = 24
> 22:1:9 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.ass
> 22:1:9 Timer event: 127389ms: Total time spent in AJBuilder.build()
> 22:1:9 Timer event: 16ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
> 22:1:9 Timer event: 20ms: Delete markers: com.dcx.ivkmds._00_fwktest.ass (Finished deleting markers for com.dcx.ivkmds._00_fwktest.ass)
> 22:1:13 Timer event: 3915ms: Create markers: com.dcx.ivkmds._00_fwktest.ass (Finished creating markers for com.dcx.ivkmds._00_fwktest.ass)
> 22:1:13 Created 179 markers in 4 files
> 22:1:16 Timer event: 12ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
> 22:1:16 Timer event: 175ms: Delete markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished deleting markers for com.dcx.ivkmds.common.businessobjects.fwktest)
> 22:1:19 Timer event: 2941ms: Create markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished creating markers for com.dcx.ivkmds.common.businessobjects.fwktest)
> 22:1:19 Created 111 markers in 32 files
> 22:1:24 Timer event: 7906ms: Create markers: com.dcx.ivkmds.fwk.test.ass (Finished creating markers for com.dcx.ivkmds.fwk.test.ass)
> 22:1:24 Created 572 markers in 24 files
>
>
> Timing ------------
> Entire time spent in the weaver instance created for this build:
>> performing model repairs=0ms
>> reweavable processing=0ms
>> verifying consistency=1ms
>> weaving aspects=828ms
>> weaving classes=123344ms
>  for those two weave steps, time spent pre-post calling the individual type wea
> ver instance: 37ms
>> weaving normal itds=24ms
>> weaving structural itds=1ms
>
> Breakdown of time spent in type weaver instances:
> class prep = 0ms
> typeWeaving = 0ms
> decaWeaving = 0ms
> fastShadowMatching = 0ms
> shadowMatching = 122806ms
> shadowWeaving = 0ms
> postWeave = 3ms
> Total =122811ms
>
> Timing: time spent in pipeline weaving: 124700ms
> Timing ------------
>
>
> More later...
>
>
>
>
> -----Original Message-----
> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
> Sent: Freitag, 9. Oktober 2009 17:57
> To: aspectj-users@...
> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>
> Hi Thomas,
>
> I've put a zip up on our download site containing two jars that
> produce timing information.  The zip is here:
>
> http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ.zip
>
> It contains jars ajde.jar and aspectjweaver.jar
>
> These are replacements for the jars in your org.aspectj.ajde and
> org.aspectj.weaver plugins (in your eclipse plugins folder).  So
> backup the jars you have and replace them with these.
>
> Now run your eclipse with the console view (-consolelog).
>
> When you build a project you should then see per build output like
> this (I built a 1000 file project here as an example:)
>
> Timing ------------
> Entire time spent in the weaver instance created for this build:
>> performing model repairs=4ms
>> reweavable processing=10ms
>> verifying consistency=6ms
>> weaving aspects=454ms
>> weaving classes=27433ms
>  for those two weave steps, time spent pre-post calling the
> individual type weaver instance: 916ms
>> weaving normal itds=45ms
>> weaving structural itds=56ms
>
> Breakdown of time spent in type weaver instances:
> class prep = 154ms
> typeWeaving = 32ms
> decaWeaving = 19ms
> fastShadowMatching = 56ms
> shadowMatching = 19303ms
> shadowWeaving = 0ms
> postWeave = 789ms
> Total =20356ms
>
> Timing: time spent in pipeline weaving: 31963ms
> Timing ------------
>
> That initial information will enable us to go into the right area
> next.  Feel free to start emailing me directly rather than using the
> list, or raise a bug and we can communicate through that.  Oh, I would
> turn off build automatically and just build a single project so we
> know what we are dealing with.  I guess it doesn't matter which, just
> one you think is taking too long (I'd saying anything over a 1 or 2
> minutes is too long).
>
> Your use of 'call()' is interesting and the fact that you get that
> Xlint out.  But let's start with this.  I guess we are currently going
> to suspect your shadowMatching time will be large.  Then we can look
> at which parts of shadowmatching are taking a long time.  The use of
> within() rather than relying on the declaring type in an execution()
> pointcut to limit what is woven would enable the fastMatching time
> above to increase and the shadowMatching time to decrease because
> within() supports fast match and execution does not.  within() and
> call() is not such a useful combination.  I might rework these timers
> into something more permanent in the codebase.
>
> Andy
>
> 2009/10/9 Thomas Hofmann <email@...>:
>> Hi Andy,
>>
>> yes we have Ant driven builds. One for the Rich Client Application (based on Eclipse RCP) and one for the J2EE server part that produces an EAR file.
>> The former runs about 12-15 minutes but it does not contain the projects with .ass. in the project / package names. The project that took more than 12 minutes to build was one of these server projects. The other one was a test project which also isn't part of the client build. The creation of the EAR file uses Ant tasks that take what is already compiled in the eclipse workspace so I have no other numbers for that part.
>>
>> I'm not sure if my pointcuts are well written. My experience with AspectJ is not that big. Anyway, I can say that the aspects that are woven into the application.ass project (the one that takes more than 12 minutes) don't use within().I'm not quite sure what would be the benefit of using within. Almost all classes in the project need to have the advice applied.
>>
>> I'm using mostly execution and call together with matching based on types.
>>
>> Let me give you some more details for the most problematic project:
>> com.dcx.ivkmds.application.ass
>>
>> It contains repositories that handle persistence using Hibernate internally. There is a Java interface and an implementation based on Hibernate for each repository. In addition there are some utility classes but only a few.
>>
>> I don't see how within() would make much difference in terms of types affected (but of course I would like to learn if I'm wrong).
>>
>> The aspects that are applied reside in another project: com.dcx.ivkmds.fwk.ass. This a part of our "framework". The aspects in this project apply to other projects that make use of the framework, not just to com.dcx.ivkmds.application.ass.
>>
>> com.dcx.ivkmds.fwk.ass contains the following aspects:
>>
>> AssComponentAspect:
>> Contains ITDs for all classes that implement the AssComponent interface.
>>
>> BaseSessionLifecycleControl:
>> Is an abstract aspect that contains an around advice to open and close the Hibernate session. It contains an abstract pointcut that subclasses of the aspect may you to specify the boundaries for Hibernate sessions.
>>
>> SessionLifecycleControl:
>> A concrete subclass of BaseSessionLifecycleControl. It contains the pointcut that determines where the advice is to be applied.
>>
>> MeasuringPoint:
>> Contains pointcuts and advice for performance logging.
>>
>> DatabaseConnectionCustomization:
>> Contains two after advices and one before advice to make 3rd party JDBC driver specific calls on the JDBC connection when a new connection is retrieved.
>>
>> DatabaseErrorTransformation:
>> Uses an around advice to add special error handling for exceptions from the database. The are inspected and transformed to application specific exception types.
>>
>>
>> Only the last three aspects apply to the classes in com.dcx.ivkmds.application.ass.
>>
>> Will the other three aspects visible on the aspect path of com.dcx.ivkmds.application.ass have a great negative performance impact? Would this require within()?
>>
>> What I don't like about within() is that it kind of turns dependencies around. If I need to specify within() in the aspects that are part of the framework I need to know what other parts of the framework make use of them.
>> I even have to make the clients of the framework visible to the framework. This would result in cycles I believe.
>>
>> I would be glad to try out a debug build that would provide more insight into where the time is spent.
>> Regarding yourkit I can only say that I don't have a license for it. I could probably use the 15 day evalutation version but would need to get some instructions on how to configure it to filter the classes your are interessted in.
>>
>> My eclipse wasn't running short of memory. Heap space was 1200 MB. During the build 600-900 MB were used (which is too much - but this is a different issue).
>>
>> I can give you more details on the aspects but I don't want to spam the mailing list. So please tell me if you think this is the right place to discuss these issues. I could also open a bug in bugzilla or we could use direct email or skype for example to exchange further details.
>> Posting lots of source code to the mailing list or bugzilla is not what I want to do. I would prefer direct (not public) communication for this.
>>
>> Do you see any obvious problems with the setup I described above?
>>
>> Regards,
>>
>> Thomas
>>
>>
>> -----Original Message-----
>> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
>> Sent: Donnerstag, 8. Oktober 2009 17:37
>> To: aspectj-users@...
>> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>>
>> Hi Thomas,
>>
>> Those build times do look unreasonable.  Do you do product builds
>> outside of eclipse (perhaps Ant driven) - do these builds exhibit the
>> same issue?
>>
>> I've never seen a project build take 12minutes so clearly something
>> unusual is happening.  I presume all your aspects are using well
>> written pointcuts that involve scoping within() clauses and don't just
>> attempt matching with just kinded pointcuts (like execution).  To see
>> all the affected joinpoints in one place, you can turn on the
>> weaveinfo info messages for the project.  Are you using ITDs?
>>
>> I think we need more visibility into the build time - I could do you a
>> debug build of the plugins that will include extra stats about where
>> the time goes.  (Or even better you could do a yourkit profile and
>> send it to me? That would make it obvious).
>>
>> Oh, and is your eclipse running tight on memory?  I wondered if you
>> were running near the limit and it was thrashing.
>>
>> Andy
>>
>>
>> 2009/10/8 Thomas Hofmann <email@...>:
>>> Hi Andy, Andrew J
>>>
>>>
>>>
>>> I'm still having problems with the performance of AJDT and AspectJ in my
>>> workspace.
>>>
>>>
>>>
>>> Let me start by describing my environment:
>>>
>>>
>>>
>>> Thinkpad T61p
>>>
>>>
>>>
>>> Eclipse Java EE IDE for Web Developers.
>>>
>>> Version: 1.2.0.20090621-0820
>>>
>>> Build id: 20090621-0832
>>>
>>> based on Eclipse 3.5.0
>>>
>>>
>>>
>>> Version: 2.0.1.e35x-20091001-1600
>>>
>>> AspectJ version: 1.6.6.20090930185500
>>>
>>>
>>>
>>> The workspace contains about 148 Java projects (and some others like
>>> features, project set projects etc.)
>>>
>>>
>>>
>>> I disabled Build Automatically, restarted Eclipse and then cleaned the whole
>>> workspace. Then I started the build with Build All. The AJDT trace was set
>>> to the default values and opened. It is attached to this mail.
>>>
>>>
>>>
>>> Here are the most relevant parts:
>>>
>>>
>>>
>>> Line 192: 13:50:34 Project=com.dcx.ivkmds.application.ass, kind of build
>>> requested=Full AspectJ compilation
>>>
>>> Line 208: 14:3:17 Types affected during build = 292
>>>
>>> Line 211:Timer event: 766396ms: Total time spent in AJBuilder.build() ->
>>> more than 12 minutes!
>>>
>>> Line 707: 14:22:6 Timer event: 117857ms: Create markers:
>>> com.dcx.ivkmds.application.ass (Finished creating markers for
>>> com.dcx.ivkmds.application.ass)
>>>
>>>
>>>
>>> Line 370: 14:10:32 Project=com.dcx.ivkmds.fwk.test.ass, kind of build
>>> requested=Full AspectJ compilation
>>>
>>> Line 387: 14:18:45 Types affected during build = 24
>>>
>>> Line 390; 14:18:46 Timer event: 493759ms: Total time spent in
>>> AJBuilder.build() -> more than 8 minutes!
>>>
>>>
>>>
>>> Line 701: 14:21:10 Timer event: 62468ms: Create markers:
>>> com.dcx.ivkmds.fwk.test.ass (Finished creating markers for
>>> com.dcx.ivkmds.fwk.test.ass)
>>>
>>>
>>>
>>> I figure that the types in these projects have a lot of joinpoints. Is there
>>> any place where I can see the number of joinpoints in these projects?
>>>
>>>
>>>
>>> Actually, the number of types involved isn't very high I would say.
>>>
>>>
>>>
>>> So the question is are these compile / weave times normal? For us it is a
>>> major problem when the time to rebuild the whole workspace takes 38 minutes.
>>>
>>>
>>>
>>> Is there anything I could try to do to improve the performance besides
>>> reducing the number of joinpoints?
>>>
>>>
>>>
>>> I really like the benefit AspectJ provides but under these circumstances it
>>> is very unpleasant and difficult to work with it.
>>>
>>>
>>>
>>> I'm looking forward to your reply.
>>>
>>>
>>>
>>> Regards,
>>>
>>>
>>>
>>> Thomas
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> aspectj-users mailing list
>>> aspectj-users@...
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>
>>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@...
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@...
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: Overall problem with AJDT performance

by Andy Clement :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

new zip (has a 2 on the end of the name):

http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ2.zip

this will produce 4 new numbers.
The time spent matching kinded pointcuts (which include call).
The number of times the kinded pointcut matcher is called.
Of that time, the amount actually spent computing the xlint.
The time spent matching this/target pointcuts.

Kinded pointcut matchInternal(): 9438ms
Kinded pointcut match calls: 517465
Kinded pointcut xlinttime: 1463ms
ThisTarget pointcut matchInternal: 9ms

And

2009/10/9 Andy Clement <andrew.clement@...>:

> I don't think you need to collect any more necessarily - we can spot
> the culprit in that trace :)
>
>> Breakdown of time spent in type weaver instances:
>> class prep = 0ms
>> typeWeaving = 0ms
>> decaWeaving = 0ms
>> fastShadowMatching = 0ms
>> shadowMatching = 122806ms
>> shadowWeaving = 0ms
>> postWeave = 3ms
>> Total =122811ms
>
> As we suspected, it is matching.  Surprised the weaving time is 0
> though.  And absolutely no fast matching.  That is where including
> within() with any execution()s would help (if you can).
>
> Next breakdown will be into where the shadow matching time is spent.
> I imagine it is millions of potential call joinpoints.  I'll be in
> touch with another timer zip shortly.
>
> To turn off the xlint go to project properties, AspectJ compiler, and
> turn off 'Unmatched super type in call pointcut designator'
>
> Andy
>
> 2009/10/9 Thomas Hofmann <email@...>:
>> Hi Andy,
>>
>> thanks for the zips. Here is a first result:
>>
>> 21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
>> 21:59:2 ===========================================================================================
>> 21:59:2 Build kind = FULLBUILD
>> 21:59:2 Project=com.dcx.ivkmds.fwk.test.ass, kind of build requested=Full AspectJ compilation
>> 21:59:2 Timer event: 0ms: Flush included source file cache
>> 21:59:2 Timer event: 0ms: Check delta
>> 21:59:2 Builder: Tidied output folder(s), removed class files and derived resources
>> 21:59:2 Timer event: 526ms: Pre compile
>> 21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass has been read by compiler.  Resetting.
>> 21:59:2      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
>>
>> 21:59:2 Resetting list of modified source files.  Was null
>> 21:59:2 Preparing for build: not going to be incremental because no successful previous full build
>> 21:59:4 Timer event: 1141ms: Time to first compiled message
>> 21:59:4 Timer event: 1974ms: Time to first woven message
>> 22:1:9 AspectJ reports build successful, build was: FULL
>> 22:1:9 AJDE Callback: finish. Was full build: true
>> 22:1:9 Timer event: 126764ms: Total time spent in AJDE
>> 22:1:9 Timer event: 0ms: Refresh after build
>> 22:1:9 Types affected during build = 24
>> 22:1:9 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.ass
>> 22:1:9 Timer event: 127389ms: Total time spent in AJBuilder.build()
>> 22:1:9 Timer event: 16ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
>> 22:1:9 Timer event: 20ms: Delete markers: com.dcx.ivkmds._00_fwktest.ass (Finished deleting markers for com.dcx.ivkmds._00_fwktest.ass)
>> 22:1:13 Timer event: 3915ms: Create markers: com.dcx.ivkmds._00_fwktest.ass (Finished creating markers for com.dcx.ivkmds._00_fwktest.ass)
>> 22:1:13 Created 179 markers in 4 files
>> 22:1:16 Timer event: 12ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
>> 22:1:16 Timer event: 175ms: Delete markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished deleting markers for com.dcx.ivkmds.common.businessobjects.fwktest)
>> 22:1:19 Timer event: 2941ms: Create markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished creating markers for com.dcx.ivkmds.common.businessobjects.fwktest)
>> 22:1:19 Created 111 markers in 32 files
>> 22:1:24 Timer event: 7906ms: Create markers: com.dcx.ivkmds.fwk.test.ass (Finished creating markers for com.dcx.ivkmds.fwk.test.ass)
>> 22:1:24 Created 572 markers in 24 files
>>
>>
>> Timing ------------
>> Entire time spent in the weaver instance created for this build:
>>> performing model repairs=0ms
>>> reweavable processing=0ms
>>> verifying consistency=1ms
>>> weaving aspects=828ms
>>> weaving classes=123344ms
>>  for those two weave steps, time spent pre-post calling the individual type wea
>> ver instance: 37ms
>>> weaving normal itds=24ms
>>> weaving structural itds=1ms
>>
>> Breakdown of time spent in type weaver instances:
>> class prep = 0ms
>> typeWeaving = 0ms
>> decaWeaving = 0ms
>> fastShadowMatching = 0ms
>> shadowMatching = 122806ms
>> shadowWeaving = 0ms
>> postWeave = 3ms
>> Total =122811ms
>>
>> Timing: time spent in pipeline weaving: 124700ms
>> Timing ------------
>>
>>
>> More later...
>>
>>
>>
>>
>> -----Original Message-----
>> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
>> Sent: Freitag, 9. Oktober 2009 17:57
>> To: aspectj-users@...
>> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>>
>> Hi Thomas,
>>
>> I've put a zip up on our download site containing two jars that
>> produce timing information.  The zip is here:
>>
>> http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ.zip
>>
>> It contains jars ajde.jar and aspectjweaver.jar
>>
>> These are replacements for the jars in your org.aspectj.ajde and
>> org.aspectj.weaver plugins (in your eclipse plugins folder).  So
>> backup the jars you have and replace them with these.
>>
>> Now run your eclipse with the console view (-consolelog).
>>
>> When you build a project you should then see per build output like
>> this (I built a 1000 file project here as an example:)
>>
>> Timing ------------
>> Entire time spent in the weaver instance created for this build:
>>> performing model repairs=4ms
>>> reweavable processing=10ms
>>> verifying consistency=6ms
>>> weaving aspects=454ms
>>> weaving classes=27433ms
>>  for those two weave steps, time spent pre-post calling the
>> individual type weaver instance: 916ms
>>> weaving normal itds=45ms
>>> weaving structural itds=56ms
>>
>> Breakdown of time spent in type weaver instances:
>> class prep = 154ms
>> typeWeaving = 32ms
>> decaWeaving = 19ms
>> fastShadowMatching = 56ms
>> shadowMatching = 19303ms
>> shadowWeaving = 0ms
>> postWeave = 789ms
>> Total =20356ms
>>
>> Timing: time spent in pipeline weaving: 31963ms
>> Timing ------------
>>
>> That initial information will enable us to go into the right area
>> next.  Feel free to start emailing me directly rather than using the
>> list, or raise a bug and we can communicate through that.  Oh, I would
>> turn off build automatically and just build a single project so we
>> know what we are dealing with.  I guess it doesn't matter which, just
>> one you think is taking too long (I'd saying anything over a 1 or 2
>> minutes is too long).
>>
>> Your use of 'call()' is interesting and the fact that you get that
>> Xlint out.  But let's start with this.  I guess we are currently going
>> to suspect your shadowMatching time will be large.  Then we can look
>> at which parts of shadowmatching are taking a long time.  The use of
>> within() rather than relying on the declaring type in an execution()
>> pointcut to limit what is woven would enable the fastMatching time
>> above to increase and the shadowMatching time to decrease because
>> within() supports fast match and execution does not.  within() and
>> call() is not such a useful combination.  I might rework these timers
>> into something more permanent in the codebase.
>>
>> Andy
>>
>> 2009/10/9 Thomas Hofmann <email@...>:
>>> Hi Andy,
>>>
>>> yes we have Ant driven builds. One for the Rich Client Application (based on Eclipse RCP) and one for the J2EE server part that produces an EAR file.
>>> The former runs about 12-15 minutes but it does not contain the projects with .ass. in the project / package names. The project that took more than 12 minutes to build was one of these server projects. The other one was a test project which also isn't part of the client build. The creation of the EAR file uses Ant tasks that take what is already compiled in the eclipse workspace so I have no other numbers for that part.
>>>
>>> I'm not sure if my pointcuts are well written. My experience with AspectJ is not that big. Anyway, I can say that the aspects that are woven into the application.ass project (the one that takes more than 12 minutes) don't use within().I'm not quite sure what would be the benefit of using within. Almost all classes in the project need to have the advice applied.
>>>
>>> I'm using mostly execution and call together with matching based on types.
>>>
>>> Let me give you some more details for the most problematic project:
>>> com.dcx.ivkmds.application.ass
>>>
>>> It contains repositories that handle persistence using Hibernate internally. There is a Java interface and an implementation based on Hibernate for each repository. In addition there are some utility classes but only a few.
>>>
>>> I don't see how within() would make much difference in terms of types affected (but of course I would like to learn if I'm wrong).
>>>
>>> The aspects that are applied reside in another project: com.dcx.ivkmds.fwk.ass. This a part of our "framework". The aspects in this project apply to other projects that make use of the framework, not just to com.dcx.ivkmds.application.ass.
>>>
>>> com.dcx.ivkmds.fwk.ass contains the following aspects:
>>>
>>> AssComponentAspect:
>>> Contains ITDs for all classes that implement the AssComponent interface.
>>>
>>> BaseSessionLifecycleControl:
>>> Is an abstract aspect that contains an around advice to open and close the Hibernate session. It contains an abstract pointcut that subclasses of the aspect may you to specify the boundaries for Hibernate sessions.
>>>
>>> SessionLifecycleControl:
>>> A concrete subclass of BaseSessionLifecycleControl. It contains the pointcut that determines where the advice is to be applied.
>>>
>>> MeasuringPoint:
>>> Contains pointcuts and advice for performance logging.
>>>
>>> DatabaseConnectionCustomization:
>>> Contains two after advices and one before advice to make 3rd party JDBC driver specific calls on the JDBC connection when a new connection is retrieved.
>>>
>>> DatabaseErrorTransformation:
>>> Uses an around advice to add special error handling for exceptions from the database. The are inspected and transformed to application specific exception types.
>>>
>>>
>>> Only the last three aspects apply to the classes in com.dcx.ivkmds.application.ass.
>>>
>>> Will the other three aspects visible on the aspect path of com.dcx.ivkmds.application.ass have a great negative performance impact? Would this require within()?
>>>
>>> What I don't like about within() is that it kind of turns dependencies around. If I need to specify within() in the aspects that are part of the framework I need to know what other parts of the framework make use of them.
>>> I even have to make the clients of the framework visible to the framework. This would result in cycles I believe.
>>>
>>> I would be glad to try out a debug build that would provide more insight into where the time is spent.
>>> Regarding yourkit I can only say that I don't have a license for it. I could probably use the 15 day evalutation version but would need to get some instructions on how to configure it to filter the classes your are interessted in.
>>>
>>> My eclipse wasn't running short of memory. Heap space was 1200 MB. During the build 600-900 MB were used (which is too much - but this is a different issue).
>>>
>>> I can give you more details on the aspects but I don't want to spam the mailing list. So please tell me if you think this is the right place to discuss these issues. I could also open a bug in bugzilla or we could use direct email or skype for example to exchange further details.
>>> Posting lots of source code to the mailing list or bugzilla is not what I want to do. I would prefer direct (not public) communication for this.
>>>
>>> Do you see any obvious problems with the setup I described above?
>>>
>>> Regards,
>>>
>>> Thomas
>>>
>>>
>>> -----Original Message-----
>>> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
>>> Sent: Donnerstag, 8. Oktober 2009 17:37
>>> To: aspectj-users@...
>>> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>>>
>>> Hi Thomas,
>>>
>>> Those build times do look unreasonable.  Do you do product builds
>>> outside of eclipse (perhaps Ant driven) - do these builds exhibit the
>>> same issue?
>>>
>>> I've never seen a project build take 12minutes so clearly something
>>> unusual is happening.  I presume all your aspects are using well
>>> written pointcuts that involve scoping within() clauses and don't just
>>> attempt matching with just kinded pointcuts (like execution).  To see
>>> all the affected joinpoints in one place, you can turn on the
>>> weaveinfo info messages for the project.  Are you using ITDs?
>>>
>>> I think we need more visibility into the build time - I could do you a
>>> debug build of the plugins that will include extra stats about where
>>> the time goes.  (Or even better you could do a yourkit profile and
>>> send it to me? That would make it obvious).
>>>
>>> Oh, and is your eclipse running tight on memory?  I wondered if you
>>> were running near the limit and it was thrashing.
>>>
>>> Andy
>>>
>>>
>>> 2009/10/8 Thomas Hofmann <email@...>:
>>>> Hi Andy, Andrew J
>>>>
>>>>
>>>>
>>>> I'm still having problems with the performance of AJDT and AspectJ in my
>>>> workspace.
>>>>
>>>>
>>>>
>>>> Let me start by describing my environment:
>>>>
>>>>
>>>>
>>>> Thinkpad T61p
>>>>
>>>>
>>>>
>>>> Eclipse Java EE IDE for Web Developers.
>>>>
>>>> Version: 1.2.0.20090621-0820
>>>>
>>>> Build id: 20090621-0832
>>>>
>>>> based on Eclipse 3.5.0
>>>>
>>>>
>>>>
>>>> Version: 2.0.1.e35x-20091001-1600
>>>>
>>>> AspectJ version: 1.6.6.20090930185500
>>>>
>>>>
>>>>
>>>> The workspace contains about 148 Java projects (and some others like
>>>> features, project set projects etc.)
>>>>
>>>>
>>>>
>>>> I disabled Build Automatically, restarted Eclipse and then cleaned the whole
>>>> workspace. Then I started the build with Build All. The AJDT trace was set
>>>> to the default values and opened. It is attached to this mail.
>>>>
>>>>
>>>>
>>>> Here are the most relevant parts:
>>>>
>>>>
>>>>
>>>> Line 192: 13:50:34 Project=com.dcx.ivkmds.application.ass, kind of build
>>>> requested=Full AspectJ compilation
>>>>
>>>> Line 208: 14:3:17 Types affected during build = 292
>>>>
>>>> Line 211:Timer event: 766396ms: Total time spent in AJBuilder.build() ->
>>>> more than 12 minutes!
>>>>
>>>> Line 707: 14:22:6 Timer event: 117857ms: Create markers:
>>>> com.dcx.ivkmds.application.ass (Finished creating markers for
>>>> com.dcx.ivkmds.application.ass)
>>>>
>>>>
>>>>
>>>> Line 370: 14:10:32 Project=com.dcx.ivkmds.fwk.test.ass, kind of build
>>>> requested=Full AspectJ compilation
>>>>
>>>> Line 387: 14:18:45 Types affected during build = 24
>>>>
>>>> Line 390; 14:18:46 Timer event: 493759ms: Total time spent in
>>>> AJBuilder.build() -> more than 8 minutes!
>>>>
>>>>
>>>>
>>>> Line 701: 14:21:10 Timer event: 62468ms: Create markers:
>>>> com.dcx.ivkmds.fwk.test.ass (Finished creating markers for
>>>> com.dcx.ivkmds.fwk.test.ass)
>>>>
>>>>
>>>>
>>>> I figure that the types in these projects have a lot of joinpoints. Is there
>>>> any place where I can see the number of joinpoints in these projects?
>>>>
>>>>
>>>>
>>>> Actually, the number of types involved isn't very high I would say.
>>>>
>>>>
>>>>
>>>> So the question is are these compile / weave times normal? For us it is a
>>>> major problem when the time to rebuild the whole workspace takes 38 minutes.
>>>>
>>>>
>>>>
>>>> Is there anything I could try to do to improve the performance besides
>>>> reducing the number of joinpoints?
>>>>
>>>>
>>>>
>>>> I really like the benefit AspectJ provides but under these circumstances it
>>>> is very unpleasant and difficult to work with it.
>>>>
>>>>
>>>>
>>>> I'm looking forward to your reply.
>>>>
>>>>
>>>>
>>>> Regards,
>>>>
>>>>
>>>>
>>>> Thomas
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>
>>>>
>>> _______________________________________________
>>> aspectj-users mailing list
>>> aspectj-users@...
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>> _______________________________________________
>>> aspectj-users mailing list
>>> aspectj-users@...
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@...
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@...
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: Overall problem with AJDT performance

by Andy Clement :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

One more thing...  I had an idea that it could be some of the
assumptions in our pointcut rewriter don't suit your scenario.  All
pointcuts are processed such that the cheaper tests are run first.  We
currently consider 'call' cheaper than 'this' - but it could be for
certain combinations of wildcarding in the call() that this() could be
evaluated faster (this may even be the case in general, but I haven't
thought that full through yet).  Anyway, I've uploaded one final zip
at:

http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ3.zip

In this zip I have reversed the costs and this() will be evaluated
before call().  If this makes a positive impact for you we can looking
adding some more smarts in the pointcut rewriter.

Andy.

2009/10/9 Andy Clement <andrew.clement@...>:

> new zip (has a 2 on the end of the name):
>
> http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ2.zip
>
> this will produce 4 new numbers.
> The time spent matching kinded pointcuts (which include call).
> The number of times the kinded pointcut matcher is called.
> Of that time, the amount actually spent computing the xlint.
> The time spent matching this/target pointcuts.
>
> Kinded pointcut matchInternal(): 9438ms
> Kinded pointcut match calls: 517465
> Kinded pointcut xlinttime: 1463ms
> ThisTarget pointcut matchInternal: 9ms
>
> And
>
> 2009/10/9 Andy Clement <andrew.clement@...>:
>> I don't think you need to collect any more necessarily - we can spot
>> the culprit in that trace :)
>>
>>> Breakdown of time spent in type weaver instances:
>>> class prep = 0ms
>>> typeWeaving = 0ms
>>> decaWeaving = 0ms
>>> fastShadowMatching = 0ms
>>> shadowMatching = 122806ms
>>> shadowWeaving = 0ms
>>> postWeave = 3ms
>>> Total =122811ms
>>
>> As we suspected, it is matching.  Surprised the weaving time is 0
>> though.  And absolutely no fast matching.  That is where including
>> within() with any execution()s would help (if you can).
>>
>> Next breakdown will be into where the shadow matching time is spent.
>> I imagine it is millions of potential call joinpoints.  I'll be in
>> touch with another timer zip shortly.
>>
>> To turn off the xlint go to project properties, AspectJ compiler, and
>> turn off 'Unmatched super type in call pointcut designator'
>>
>> Andy
>>
>> 2009/10/9 Thomas Hofmann <email@...>:
>>> Hi Andy,
>>>
>>> thanks for the zips. Here is a first result:
>>>
>>> 21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
>>> 21:59:2 ===========================================================================================
>>> 21:59:2 Build kind = FULLBUILD
>>> 21:59:2 Project=com.dcx.ivkmds.fwk.test.ass, kind of build requested=Full AspectJ compilation
>>> 21:59:2 Timer event: 0ms: Flush included source file cache
>>> 21:59:2 Timer event: 0ms: Check delta
>>> 21:59:2 Builder: Tidied output folder(s), removed class files and derived resources
>>> 21:59:2 Timer event: 526ms: Pre compile
>>> 21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass has been read by compiler.  Resetting.
>>> 21:59:2      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
>>>
>>> 21:59:2 Resetting list of modified source files.  Was null
>>> 21:59:2 Preparing for build: not going to be incremental because no successful previous full build
>>> 21:59:4 Timer event: 1141ms: Time to first compiled message
>>> 21:59:4 Timer event: 1974ms: Time to first woven message
>>> 22:1:9 AspectJ reports build successful, build was: FULL
>>> 22:1:9 AJDE Callback: finish. Was full build: true
>>> 22:1:9 Timer event: 126764ms: Total time spent in AJDE
>>> 22:1:9 Timer event: 0ms: Refresh after build
>>> 22:1:9 Types affected during build = 24
>>> 22:1:9 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.ass
>>> 22:1:9 Timer event: 127389ms: Total time spent in AJBuilder.build()
>>> 22:1:9 Timer event: 16ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
>>> 22:1:9 Timer event: 20ms: Delete markers: com.dcx.ivkmds._00_fwktest.ass (Finished deleting markers for com.dcx.ivkmds._00_fwktest.ass)
>>> 22:1:13 Timer event: 3915ms: Create markers: com.dcx.ivkmds._00_fwktest.ass (Finished creating markers for com.dcx.ivkmds._00_fwktest.ass)
>>> 22:1:13 Created 179 markers in 4 files
>>> 22:1:16 Timer event: 12ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
>>> 22:1:16 Timer event: 175ms: Delete markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished deleting markers for com.dcx.ivkmds.common.businessobjects.fwktest)
>>> 22:1:19 Timer event: 2941ms: Create markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished creating markers for com.dcx.ivkmds.common.businessobjects.fwktest)
>>> 22:1:19 Created 111 markers in 32 files
>>> 22:1:24 Timer event: 7906ms: Create markers: com.dcx.ivkmds.fwk.test.ass (Finished creating markers for com.dcx.ivkmds.fwk.test.ass)
>>> 22:1:24 Created 572 markers in 24 files
>>>
>>>
>>> Timing ------------
>>> Entire time spent in the weaver instance created for this build:
>>>> performing model repairs=0ms
>>>> reweavable processing=0ms
>>>> verifying consistency=1ms
>>>> weaving aspects=828ms
>>>> weaving classes=123344ms
>>>  for those two weave steps, time spent pre-post calling the individual type wea
>>> ver instance: 37ms
>>>> weaving normal itds=24ms
>>>> weaving structural itds=1ms
>>>
>>> Breakdown of time spent in type weaver instances:
>>> class prep = 0ms
>>> typeWeaving = 0ms
>>> decaWeaving = 0ms
>>> fastShadowMatching = 0ms
>>> shadowMatching = 122806ms
>>> shadowWeaving = 0ms
>>> postWeave = 3ms
>>> Total =122811ms
>>>
>>> Timing: time spent in pipeline weaving: 124700ms
>>> Timing ------------
>>>
>>>
>>> More later...
>>>
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
>>> Sent: Freitag, 9. Oktober 2009 17:57
>>> To: aspectj-users@...
>>> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>>>
>>> Hi Thomas,
>>>
>>> I've put a zip up on our download site containing two jars that
>>> produce timing information.  The zip is here:
>>>
>>> http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ.zip
>>>
>>> It contains jars ajde.jar and aspectjweaver.jar
>>>
>>> These are replacements for the jars in your org.aspectj.ajde and
>>> org.aspectj.weaver plugins (in your eclipse plugins folder).  So
>>> backup the jars you have and replace them with these.
>>>
>>> Now run your eclipse with the console view (-consolelog).
>>>
>>> When you build a project you should then see per build output like
>>> this (I built a 1000 file project here as an example:)
>>>
>>> Timing ------------
>>> Entire time spent in the weaver instance created for this build:
>>>> performing model repairs=4ms
>>>> reweavable processing=10ms
>>>> verifying consistency=6ms
>>>> weaving aspects=454ms
>>>> weaving classes=27433ms
>>>  for those two weave steps, time spent pre-post calling the
>>> individual type weaver instance: 916ms
>>>> weaving normal itds=45ms
>>>> weaving structural itds=56ms
>>>
>>> Breakdown of time spent in type weaver instances:
>>> class prep = 154ms
>>> typeWeaving = 32ms
>>> decaWeaving = 19ms
>>> fastShadowMatching = 56ms
>>> shadowMatching = 19303ms
>>> shadowWeaving = 0ms
>>> postWeave = 789ms
>>> Total =20356ms
>>>
>>> Timing: time spent in pipeline weaving: 31963ms
>>> Timing ------------
>>>
>>> That initial information will enable us to go into the right area
>>> next.  Feel free to start emailing me directly rather than using the
>>> list, or raise a bug and we can communicate through that.  Oh, I would
>>> turn off build automatically and just build a single project so we
>>> know what we are dealing with.  I guess it doesn't matter which, just
>>> one you think is taking too long (I'd saying anything over a 1 or 2
>>> minutes is too long).
>>>
>>> Your use of 'call()' is interesting and the fact that you get that
>>> Xlint out.  But let's start with this.  I guess we are currently going
>>> to suspect your shadowMatching time will be large.  Then we can look
>>> at which parts of shadowmatching are taking a long time.  The use of
>>> within() rather than relying on the declaring type in an execution()
>>> pointcut to limit what is woven would enable the fastMatching time
>>> above to increase and the shadowMatching time to decrease because
>>> within() supports fast match and execution does not.  within() and
>>> call() is not such a useful combination.  I might rework these timers
>>> into something more permanent in the codebase.
>>>
>>> Andy
>>>
>>> 2009/10/9 Thomas Hofmann <email@...>:
>>>> Hi Andy,
>>>>
>>>> yes we have Ant driven builds. One for the Rich Client Application (based on Eclipse RCP) and one for the J2EE server part that produces an EAR file.
>>>> The former runs about 12-15 minutes but it does not contain the projects with .ass. in the project / package names. The project that took more than 12 minutes to build was one of these server projects. The other one was a test project which also isn't part of the client build. The creation of the EAR file uses Ant tasks that take what is already compiled in the eclipse workspace so I have no other numbers for that part.
>>>>
>>>> I'm not sure if my pointcuts are well written. My experience with AspectJ is not that big. Anyway, I can say that the aspects that are woven into the application.ass project (the one that takes more than 12 minutes) don't use within().I'm not quite sure what would be the benefit of using within. Almost all classes in the project need to have the advice applied.
>>>>
>>>> I'm using mostly execution and call together with matching based on types.
>>>>
>>>> Let me give you some more details for the most problematic project:
>>>> com.dcx.ivkmds.application.ass
>>>>
>>>> It contains repositories that handle persistence using Hibernate internally. There is a Java interface and an implementation based on Hibernate for each repository. In addition there are some utility classes but only a few.
>>>>
>>>> I don't see how within() would make much difference in terms of types affected (but of course I would like to learn if I'm wrong).
>>>>
>>>> The aspects that are applied reside in another project: com.dcx.ivkmds.fwk.ass. This a part of our "framework". The aspects in this project apply to other projects that make use of the framework, not just to com.dcx.ivkmds.application.ass.
>>>>
>>>> com.dcx.ivkmds.fwk.ass contains the following aspects:
>>>>
>>>> AssComponentAspect:
>>>> Contains ITDs for all classes that implement the AssComponent interface.
>>>>
>>>> BaseSessionLifecycleControl:
>>>> Is an abstract aspect that contains an around advice to open and close the Hibernate session. It contains an abstract pointcut that subclasses of the aspect may you to specify the boundaries for Hibernate sessions.
>>>>
>>>> SessionLifecycleControl:
>>>> A concrete subclass of BaseSessionLifecycleControl. It contains the pointcut that determines where the advice is to be applied.
>>>>
>>>> MeasuringPoint:
>>>> Contains pointcuts and advice for performance logging.
>>>>
>>>> DatabaseConnectionCustomization:
>>>> Contains two after advices and one before advice to make 3rd party JDBC driver specific calls on the JDBC connection when a new connection is retrieved.
>>>>
>>>> DatabaseErrorTransformation:
>>>> Uses an around advice to add special error handling for exceptions from the database. The are inspected and transformed to application specific exception types.
>>>>
>>>>
>>>> Only the last three aspects apply to the classes in com.dcx.ivkmds.application.ass.
>>>>
>>>> Will the other three aspects visible on the aspect path of com.dcx.ivkmds.application.ass have a great negative performance impact? Would this require within()?
>>>>
>>>> What I don't like about within() is that it kind of turns dependencies around. If I need to specify within() in the aspects that are part of the framework I need to know what other parts of the framework make use of them.
>>>> I even have to make the clients of the framework visible to the framework. This would result in cycles I believe.
>>>>
>>>> I would be glad to try out a debug build that would provide more insight into where the time is spent.
>>>> Regarding yourkit I can only say that I don't have a license for it. I could probably use the 15 day evalutation version but would need to get some instructions on how to configure it to filter the classes your are interessted in.
>>>>
>>>> My eclipse wasn't running short of memory. Heap space was 1200 MB. During the build 600-900 MB were used (which is too much - but this is a different issue).
>>>>
>>>> I can give you more details on the aspects but I don't want to spam the mailing list. So please tell me if you think this is the right place to discuss these issues. I could also open a bug in bugzilla or we could use direct email or skype for example to exchange further details.
>>>> Posting lots of source code to the mailing list or bugzilla is not what I want to do. I would prefer direct (not public) communication for this.
>>>>
>>>> Do you see any obvious problems with the setup I described above?
>>>>
>>>> Regards,
>>>>
>>>> Thomas
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
>>>> Sent: Donnerstag, 8. Oktober 2009 17:37
>>>> To: aspectj-users@...
>>>> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>>>>
>>>> Hi Thomas,
>>>>
>>>> Those build times do look unreasonable.  Do you do product builds
>>>> outside of eclipse (perhaps Ant driven) - do these builds exhibit the
>>>> same issue?
>>>>
>>>> I've never seen a project build take 12minutes so clearly something
>>>> unusual is happening.  I presume all your aspects are using well
>>>> written pointcuts that involve scoping within() clauses and don't just
>>>> attempt matching with just kinded pointcuts (like execution).  To see
>>>> all the affected joinpoints in one place, you can turn on the
>>>> weaveinfo info messages for the project.  Are you using ITDs?
>>>>
>>>> I think we need more visibility into the build time - I could do you a
>>>> debug build of the plugins that will include extra stats about where
>>>> the time goes.  (Or even better you could do a yourkit profile and
>>>> send it to me? That would make it obvious).
>>>>
>>>> Oh, and is your eclipse running tight on memory?  I wondered if you
>>>> were running near the limit and it was thrashing.
>>>>
>>>> Andy
>>>>
>>>>
>>>> 2009/10/8 Thomas Hofmann <email@...>:
>>>>> Hi Andy, Andrew J
>>>>>
>>>>>
>>>>>
>>>>> I'm still having problems with the performance of AJDT and AspectJ in my
>>>>> workspace.
>>>>>
>>>>>
>>>>>
>>>>> Let me start by describing my environment:
>>>>>
>>>>>
>>>>>
>>>>> Thinkpad T61p
>>>>>
>>>>>
>>>>>
>>>>> Eclipse Java EE IDE for Web Developers.
>>>>>
>>>>> Version: 1.2.0.20090621-0820
>>>>>
>>>>> Build id: 20090621-0832
>>>>>
>>>>> based on Eclipse 3.5.0
>>>>>
>>>>>
>>>>>
>>>>> Version: 2.0.1.e35x-20091001-1600
>>>>>
>>>>> AspectJ version: 1.6.6.20090930185500
>>>>>
>>>>>
>>>>>
>>>>> The workspace contains about 148 Java projects (and some others like
>>>>> features, project set projects etc.)
>>>>>
>>>>>
>>>>>
>>>>> I disabled Build Automatically, restarted Eclipse and then cleaned the whole
>>>>> workspace. Then I started the build with Build All. The AJDT trace was set
>>>>> to the default values and opened. It is attached to this mail.
>>>>>
>>>>>
>>>>>
>>>>> Here are the most relevant parts:
>>>>>
>>>>>
>>>>>
>>>>> Line 192: 13:50:34 Project=com.dcx.ivkmds.application.ass, kind of build
>>>>> requested=Full AspectJ compilation
>>>>>
>>>>> Line 208: 14:3:17 Types affected during build = 292
>>>>>
>>>>> Line 211:Timer event: 766396ms: Total time spent in AJBuilder.build() ->
>>>>> more than 12 minutes!
>>>>>
>>>>> Line 707: 14:22:6 Timer event: 117857ms: Create markers:
>>>>> com.dcx.ivkmds.application.ass (Finished creating markers for
>>>>> com.dcx.ivkmds.application.ass)
>>>>>
>>>>>
>>>>>
>>>>> Line 370: 14:10:32 Project=com.dcx.ivkmds.fwk.test.ass, kind of build
>>>>> requested=Full AspectJ compilation
>>>>>
>>>>> Line 387: 14:18:45 Types affected during build = 24
>>>>>
>>>>> Line 390; 14:18:46 Timer event: 493759ms: Total time spent in
>>>>> AJBuilder.build() -> more than 8 minutes!
>>>>>
>>>>>
>>>>>
>>>>> Line 701: 14:21:10 Timer event: 62468ms: Create markers:
>>>>> com.dcx.ivkmds.fwk.test.ass (Finished creating markers for
>>>>> com.dcx.ivkmds.fwk.test.ass)
>>>>>
>>>>>
>>>>>
>>>>> I figure that the types in these projects have a lot of joinpoints. Is there
>>>>> any place where I can see the number of joinpoints in these projects?
>>>>>
>>>>>
>>>>>
>>>>> Actually, the number of types involved isn't very high I would say.
>>>>>
>>>>>
>>>>>
>>>>> So the question is are these compile / weave times normal? For us it is a
>>>>> major problem when the time to rebuild the whole workspace takes 38 minutes.
>>>>>
>>>>>
>>>>>
>>>>> Is there anything I could try to do to improve the performance besides
>>>>> reducing the number of joinpoints?
>>>>>
>>>>>
>>>>>
>>>>> I really like the benefit AspectJ provides but under these circumstances it
>>>>> is very unpleasant and difficult to work with it.
>>>>>
>>>>>
>>>>>
>>>>> I'm looking forward to your reply.
>>>>>
>>>>>
>>>>>
>>>>> Regards,
>>>>>
>>>>>
>>>>>
>>>>> Thomas
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> aspectj-users mailing list
>>>>> aspectj-users@...
>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>>
>>>>>
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>
>>> _______________________________________________
>>> aspectj-users mailing list
>>> aspectj-users@...
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>> _______________________________________________
>>> aspectj-users mailing list
>>> aspectj-users@...
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>
>>
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

RE: Overall problem with AJDT performance

by thofmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Still too long but already much better:

10:55:30 Removed problems and tasks for project com.dcx.ivkmds.fwk.test.ass
10:55:30 Builder: Tidied output folder(s), removed class files and derived resources
10:55:31 Timer event: 5ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
10:55:43 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
10:55:43 ===========================================================================================
10:55:43 Build kind = FULLBUILD
10:55:43 Project=com.dcx.ivkmds.fwk.test.ass, kind of build requested=Full AspectJ compilation
10:55:43 Timer event: 0ms: Flush included source file cache
10:55:43 Timer event: 0ms: Check delta
10:55:43 Builder: Tidied output folder(s), removed class files and derived resources
10:55:43 Timer event: 212ms: Pre compile
10:55:43 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass has been read by compiler.  Resetting.
10:55:43      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
10:55:43 Resetting list of modified source files.  Was null
10:55:43 Preparing for build: not going to be incremental because no successful previous full build
10:55:44 Timer event: 1027ms: Time to first compiled message
10:55:45 Timer event: 1309ms: Time to first woven message
10:56:14 AspectJ reports build successful, build was: FULL
10:56:14 AJDE Callback: finish. Was full build: true
10:56:14 Timer event: 30751ms: Total time spent in AJDE
10:56:14 Timer event: 0ms: Refresh after build
10:56:14 Types affected during build = 24
10:56:14 Timer event: 30996ms: Total time spent in AJBuilder.build()
10:56:14 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.ass
10:56:14 Timer event: 1ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
10:56:20 Timer event: 6283ms: Create markers: com.dcx.ivkmds.fwk.test.ass (Finished creating markers for com.dcx.ivkmds.fwk.test.ass)
10:56:20 Created 572 markers in 24 files


Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=260ms
> weaving classes=27890ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 37ms
> weaving normal itds=17ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 26470ms
shadowWeaving = 1412ms
postWeave = 3ms
Total =27888ms

Kinded pointcut matchInternal(): 22891ms
Kinded pointcut match calls: 204036
Kinded pointcut xlinttime: 20341ms
ThisTarget pointcut matchInternal: 2166ms

Timing: time spent in pipeline weaving: 28632ms
Timing ------------





Wow, I'm amazed. A second run on a different project (this was > 12 minutes but with a much larger heap when all was rebuild):

10:58:43 Removed problems and tasks for project com.dcx.ivkmds.application.ass
10:58:45 Builder: Tidied output folder(s), removed class files and derived resources
10:58:52 Compiler configuration for project com.dcx.ivkmds.application.ass doesn't know previous state, so assuming EVERYTHING has changed.
10:58:52 ===========================================================================================
10:58:52 Build kind = FULLBUILD
10:58:52 Project=com.dcx.ivkmds.application.ass, kind of build requested=Full AspectJ compilation
10:58:52 Timer event: 0ms: Flush included source file cache
10:58:52 Timer event: 0ms: Check delta
10:58:52 Builder: Tidied output folder(s), removed class files and derived resources
10:58:53 Timer event: 1452ms: Pre compile
10:58:54 Compiler configuration for project com.dcx.ivkmds.application.ass has been read by compiler.  Resetting.
10:58:54      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
10:58:54 Resetting list of modified source files.  Was null
10:58:54 Preparing for build: not going to be incremental because no successful previous full build
10:58:56 Timer event: 2834ms: Time to first compiled message
10:58:56 Timer event: 2866ms: Time to first woven message
10:59:44 AspectJ reports build successful, build was: FULL
10:59:45 AJDE Callback: finish. Was full build: true
10:59:45 Timer event: 51440ms: Total time spent in AJDE
10:59:45 Timer event: 0ms: Refresh after build
10:59:45 Types affected during build = 292
10:59:45 Timer event: 1ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.application.ass
10:59:45 Timer event: 52941ms: Total time spent in AJBuilder.build()
10:59:45 Timer event: 2ms: Delete markers: com.dcx.ivkmds.application.ass (Finished deleting markers for com.dcx.ivkmds.application.ass)
10:59:46 Timer event: 601ms: Create markers: com.dcx.ivkmds.application.ass (Finished creating markers for com.dcx.ivkmds.application.ass)
10:59:46 Created 2615 markers in 292 files
10:59:46 Timer event: 31ms: Delete markers: com.dcx.ivkmds.application.ass (Finished deleting markers for com.dcx.ivkmds.application.ass)


Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=1ms
> reweavable processing=2ms
> verifying consistency=0ms
> weaving aspects=41ms
> weaving classes=40926ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 408ms
> weaving normal itds=46ms
> weaving structural itds=1ms

Breakdown of time spent in type weaver instances:
class prep = 6ms
typeWeaving = 0ms
decaWeaving = 1ms
fastShadowMatching = 5ms
shadowMatching = 37440ms
shadowWeaving = 2172ms
postWeave = 39ms
Total =39667ms

Kinded pointcut matchInternal(): 26404ms
Kinded pointcut match calls: 182508
Kinded pointcut xlinttime: 23990ms
ThisTarget pointcut matchInternal: 7795ms

Timing: time spent in pipeline weaving: 44233ms
Timing ------------
Unable to load cache.







-----Original Message-----
From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
Sent: Samstag, 10. Oktober 2009 03:07
To: aspectj-users@...
Subject: Re: [aspectj-users] Overall problem with AJDT performance

One more thing...  I had an idea that it could be some of the
assumptions in our pointcut rewriter don't suit your scenario.  All
pointcuts are processed such that the cheaper tests are run first.  We
currently consider 'call' cheaper than 'this' - but it could be for
certain combinations of wildcarding in the call() that this() could be
evaluated faster (this may even be the case in general, but I haven't
thought that full through yet).  Anyway, I've uploaded one final zip
at:

http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ3.zip

In this zip I have reversed the costs and this() will be evaluated
before call().  If this makes a positive impact for you we can looking
adding some more smarts in the pointcut rewriter.

Andy.

2009/10/9 Andy Clement <andrew.clement@...>:

> new zip (has a 2 on the end of the name):
>
> http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ2.zip
>
> this will produce 4 new numbers.
> The time spent matching kinded pointcuts (which include call).
> The number of times the kinded pointcut matcher is called.
> Of that time, the amount actually spent computing the xlint.
> The time spent matching this/target pointcuts.
>
> Kinded pointcut matchInternal(): 9438ms
> Kinded pointcut match calls: 517465
> Kinded pointcut xlinttime: 1463ms
> ThisTarget pointcut matchInternal: 9ms
>
> And
>
> 2009/10/9 Andy Clement <andrew.clement@...>:
>> I don't think you need to collect any more necessarily - we can spot
>> the culprit in that trace :)
>>
>>> Breakdown of time spent in type weaver instances:
>>> class prep = 0ms
>>> typeWeaving = 0ms
>>> decaWeaving = 0ms
>>> fastShadowMatching = 0ms
>>> shadowMatching = 122806ms
>>> shadowWeaving = 0ms
>>> postWeave = 3ms
>>> Total =122811ms
>>
>> As we suspected, it is matching.  Surprised the weaving time is 0
>> though.  And absolutely no fast matching.  That is where including
>> within() with any execution()s would help (if you can).
>>
>> Next breakdown will be into where the shadow matching time is spent.
>> I imagine it is millions of potential call joinpoints.  I'll be in
>> touch with another timer zip shortly.
>>
>> To turn off the xlint go to project properties, AspectJ compiler, and
>> turn off 'Unmatched super type in call pointcut designator'
>>
>> Andy
>>
>> 2009/10/9 Thomas Hofmann <email@...>:
>>> Hi Andy,
>>>
>>> thanks for the zips. Here is a first result:
>>>
>>> 21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
>>> 21:59:2 ===========================================================================================
>>> 21:59:2 Build kind = FULLBUILD
>>> 21:59:2 Project=com.dcx.ivkmds.fwk.test.ass, kind of build requested=Full AspectJ compilation
>>> 21:59:2 Timer event: 0ms: Flush included source file cache
>>> 21:59:2 Timer event: 0ms: Check delta
>>> 21:59:2 Builder: Tidied output folder(s), removed class files and derived resources
>>> 21:59:2 Timer event: 526ms: Pre compile
>>> 21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass has been read by compiler.  Resetting.
>>> 21:59:2      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
>>>
>>> 21:59:2 Resetting list of modified source files.  Was null
>>> 21:59:2 Preparing for build: not going to be incremental because no successful previous full build
>>> 21:59:4 Timer event: 1141ms: Time to first compiled message
>>> 21:59:4 Timer event: 1974ms: Time to first woven message
>>> 22:1:9 AspectJ reports build successful, build was: FULL
>>> 22:1:9 AJDE Callback: finish. Was full build: true
>>> 22:1:9 Timer event: 126764ms: Total time spent in AJDE
>>> 22:1:9 Timer event: 0ms: Refresh after build
>>> 22:1:9 Types affected during build = 24
>>> 22:1:9 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.ass
>>> 22:1:9 Timer event: 127389ms: Total time spent in AJBuilder.build()
>>> 22:1:9 Timer event: 16ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
>>> 22:1:9 Timer event: 20ms: Delete markers: com.dcx.ivkmds._00_fwktest.ass (Finished deleting markers for com.dcx.ivkmds._00_fwktest.ass)
>>> 22:1:13 Timer event: 3915ms: Create markers: com.dcx.ivkmds._00_fwktest.ass (Finished creating markers for com.dcx.ivkmds._00_fwktest.ass)
>>> 22:1:13 Created 179 markers in 4 files
>>> 22:1:16 Timer event: 12ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
>>> 22:1:16 Timer event: 175ms: Delete markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished deleting markers for com.dcx.ivkmds.common.businessobjects.fwktest)
>>> 22:1:19 Timer event: 2941ms: Create markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished creating markers for com.dcx.ivkmds.common.businessobjects.fwktest)
>>> 22:1:19 Created 111 markers in 32 files
>>> 22:1:24 Timer event: 7906ms: Create markers: com.dcx.ivkmds.fwk.test.ass (Finished creating markers for com.dcx.ivkmds.fwk.test.ass)
>>> 22:1:24 Created 572 markers in 24 files
>>>
>>>
>>> Timing ------------
>>> Entire time spent in the weaver instance created for this build:
>>>> performing model repairs=0ms
>>>> reweavable processing=0ms
>>>> verifying consistency=1ms
>>>> weaving aspects=828ms
>>>> weaving classes=123344ms
>>>  for those two weave steps, time spent pre-post calling the individual type wea
>>> ver instance: 37ms
>>>> weaving normal itds=24ms
>>>> weaving structural itds=1ms
>>>
>>> Breakdown of time spent in type weaver instances:
>>> class prep = 0ms
>>> typeWeaving = 0ms
>>> decaWeaving = 0ms
>>> fastShadowMatching = 0ms
>>> shadowMatching = 122806ms
>>> shadowWeaving = 0ms
>>> postWeave = 3ms
>>> Total =122811ms
>>>
>>> Timing: time spent in pipeline weaving: 124700ms
>>> Timing ------------
>>>
>>>
>>> More later...
>>>
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
>>> Sent: Freitag, 9. Oktober 2009 17:57
>>> To: aspectj-users@...
>>> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>>>
>>> Hi Thomas,
>>>
>>> I've put a zip up on our download site containing two jars that
>>> produce timing information.  The zip is here:
>>>
>>> http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ.zip
>>>
>>> It contains jars ajde.jar and aspectjweaver.jar
>>>
>>> These are replacements for the jars in your org.aspectj.ajde and
>>> org.aspectj.weaver plugins (in your eclipse plugins folder).  So
>>> backup the jars you have and replace them with these.
>>>
>>> Now run your eclipse with the console view (-consolelog).
>>>
>>> When you build a project you should then see per build output like
>>> this (I built a 1000 file project here as an example:)
>>>
>>> Timing ------------
>>> Entire time spent in the weaver instance created for this build:
>>>> performing model repairs=4ms
>>>> reweavable processing=10ms
>>>> verifying consistency=6ms
>>>> weaving aspects=454ms
>>>> weaving classes=27433ms
>>>  for those two weave steps, time spent pre-post calling the
>>> individual type weaver instance: 916ms
>>>> weaving normal itds=45ms
>>>> weaving structural itds=56ms
>>>
>>> Breakdown of time spent in type weaver instances:
>>> class prep = 154ms
>>> typeWeaving = 32ms
>>> decaWeaving = 19ms
>>> fastShadowMatching = 56ms
>>> shadowMatching = 19303ms
>>> shadowWeaving = 0ms
>>> postWeave = 789ms
>>> Total =20356ms
>>>
>>> Timing: time spent in pipeline weaving: 31963ms
>>> Timing ------------
>>>
>>> That initial information will enable us to go into the right area
>>> next.  Feel free to start emailing me directly rather than using the
>>> list, or raise a bug and we can communicate through that.  Oh, I would
>>> turn off build automatically and just build a single project so we
>>> know what we are dealing with.  I guess it doesn't matter which, just
>>> one you think is taking too long (I'd saying anything over a 1 or 2
>>> minutes is too long).
>>>
>>> Your use of 'call()' is interesting and the fact that you get that
>>> Xlint out.  But let's start with this.  I guess we are currently going
>>> to suspect your shadowMatching time will be large.  Then we can look
>>> at which parts of shadowmatching are taking a long time.  The use of
>>> within() rather than relying on the declaring type in an execution()
>>> pointcut to limit what is woven would enable the fastMatching time
>>> above to increase and the shadowMatching time to decrease because
>>> within() supports fast match and execution does not.  within() and
>>> call() is not such a useful combination.  I might rework these timers
>>> into something more permanent in the codebase.
>>>
>>> Andy
>>>
>>> 2009/10/9 Thomas Hofmann <email@...>:
>>>> Hi Andy,
>>>>
>>>> yes we have Ant driven builds. One for the Rich Client Application (based on Eclipse RCP) and one for the J2EE server part that produces an EAR file.
>>>> The former runs about 12-15 minutes but it does not contain the projects with .ass. in the project / package names. The project that took more than 12 minutes to build was one of these server projects. The other one was a test project which also isn't part of the client build. The creation of the EAR file uses Ant tasks that take what is already compiled in the eclipse workspace so I have no other numbers for that part.
>>>>
>>>> I'm not sure if my pointcuts are well written. My experience with AspectJ is not that big. Anyway, I can say that the aspects that are woven into the application.ass project (the one that takes more than 12 minutes) don't use within().I'm not quite sure what would be the benefit of using within. Almost all classes in the project need to have the advice applied.
>>>>
>>>> I'm using mostly execution and call together with matching based on types.
>>>>
>>>> Let me give you some more details for the most problematic project:
>>>> com.dcx.ivkmds.application.ass
>>>>
>>>> It contains repositories that handle persistence using Hibernate internally. There is a Java interface and an implementation based on Hibernate for each repository. In addition there are some utility classes but only a few.
>>>>
>>>> I don't see how within() would make much difference in terms of types affected (but of course I would like to learn if I'm wrong).
>>>>
>>>> The aspects that are applied reside in another project: com.dcx.ivkmds.fwk.ass. This a part of our "framework". The aspects in this project apply to other projects that make use of the framework, not just to com.dcx.ivkmds.application.ass.
>>>>
>>>> com.dcx.ivkmds.fwk.ass contains the following aspects:
>>>>
>>>> AssComponentAspect:
>>>> Contains ITDs for all classes that implement the AssComponent interface.
>>>>
>>>> BaseSessionLifecycleControl:
>>>> Is an abstract aspect that contains an around advice to open and close the Hibernate session. It contains an abstract pointcut that subclasses of the aspect may you to specify the boundaries for Hibernate sessions.
>>>>
>>>> SessionLifecycleControl:
>>>> A concrete subclass of BaseSessionLifecycleControl. It contains the pointcut that determines where the advice is to be applied.
>>>>
>>>> MeasuringPoint:
>>>> Contains pointcuts and advice for performance logging.
>>>>
>>>> DatabaseConnectionCustomization:
>>>> Contains two after advices and one before advice to make 3rd party JDBC driver specific calls on the JDBC connection when a new connection is retrieved.
>>>>
>>>> DatabaseErrorTransformation:
>>>> Uses an around advice to add special error handling for exceptions from the database. The are inspected and transformed to application specific exception types.
>>>>
>>>>
>>>> Only the last three aspects apply to the classes in com.dcx.ivkmds.application.ass.
>>>>
>>>> Will the other three aspects visible on the aspect path of com.dcx.ivkmds.application.ass have a great negative performance impact? Would this require within()?
>>>>
>>>> What I don't like about within() is that it kind of turns dependencies around. If I need to specify within() in the aspects that are part of the framework I need to know what other parts of the framework make use of them.
>>>> I even have to make the clients of the framework visible to the framework. This would result in cycles I believe.
>>>>
>>>> I would be glad to try out a debug build that would provide more insight into where the time is spent.
>>>> Regarding yourkit I can only say that I don't have a license for it. I could probably use the 15 day evalutation version but would need to get some instructions on how to configure it to filter the classes your are interessted in.
>>>>
>>>> My eclipse wasn't running short of memory. Heap space was 1200 MB. During the build 600-900 MB were used (which is too much - but this is a different issue).
>>>>
>>>> I can give you more details on the aspects but I don't want to spam the mailing list. So please tell me if you think this is the right place to discuss these issues. I could also open a bug in bugzilla or we could use direct email or skype for example to exchange further details.
>>>> Posting lots of source code to the mailing list or bugzilla is not what I want to do. I would prefer direct (not public) communication for this.
>>>>
>>>> Do you see any obvious problems with the setup I described above?
>>>>
>>>> Regards,
>>>>
>>>> Thomas
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
>>>> Sent: Donnerstag, 8. Oktober 2009 17:37
>>>> To: aspectj-users@...
>>>> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>>>>
>>>> Hi Thomas,
>>>>
>>>> Those build times do look unreasonable.  Do you do product builds
>>>> outside of eclipse (perhaps Ant driven) - do these builds exhibit the
>>>> same issue?
>>>>
>>>> I've never seen a project build take 12minutes so clearly something
>>>> unusual is happening.  I presume all your aspects are using well
>>>> written pointcuts that involve scoping within() clauses and don't just
>>>> attempt matching with just kinded pointcuts (like execution).  To see
>>>> all the affected joinpoints in one place, you can turn on the
>>>> weaveinfo info messages for the project.  Are you using ITDs?
>>>>
>>>> I think we need more visibility into the build time - I could do you a
>>>> debug build of the plugins that will include extra stats about where
>>>> the time goes.  (Or even better you could do a yourkit profile and
>>>> send it to me? That would make it obvious).
>>>>
>>>> Oh, and is your eclipse running tight on memory?  I wondered if you
>>>> were running near the limit and it was thrashing.
>>>>
>>>> Andy
>>>>
>>>>
>>>> 2009/10/8 Thomas Hofmann <email@...>:
>>>>> Hi Andy, Andrew J
>>>>>
>>>>>
>>>>>
>>>>> I'm still having problems with the performance of AJDT and AspectJ in my
>>>>> workspace.
>>>>>
>>>>>
>>>>>
>>>>> Let me start by describing my environment:
>>>>>
>>>>>
>>>>>
>>>>> Thinkpad T61p
>>>>>
>>>>>
>>>>>
>>>>> Eclipse Java EE IDE for Web Developers.
>>>>>
>>>>> Version: 1.2.0.20090621-0820
>>>>>
>>>>> Build id: 20090621-0832
>>>>>
>>>>> based on Eclipse 3.5.0
>>>>>
>>>>>
>>>>>
>>>>> Version: 2.0.1.e35x-20091001-1600
>>>>>
>>>>> AspectJ version: 1.6.6.20090930185500
>>>>>
>>>>>
>>>>>
>>>>> The workspace contains about 148 Java projects (and some others like
>>>>> features, project set projects etc.)
>>>>>
>>>>>
>>>>>
>>>>> I disabled Build Automatically, restarted Eclipse and then cleaned the whole
>>>>> workspace. Then I started the build with Build All. The AJDT trace was set
>>>>> to the default values and opened. It is attached to this mail.
>>>>>
>>>>>
>>>>>
>>>>> Here are the most relevant parts:
>>>>>
>>>>>
>>>>>
>>>>> Line 192: 13:50:34 Project=com.dcx.ivkmds.application.ass, kind of build
>>>>> requested=Full AspectJ compilation
>>>>>
>>>>> Line 208: 14:3:17 Types affected during build = 292
>>>>>
>>>>> Line 211:Timer event: 766396ms: Total time spent in AJBuilder.build() ->
>>>>> more than 12 minutes!
>>>>>
>>>>> Line 707: 14:22:6 Timer event: 117857ms: Create markers:
>>>>> com.dcx.ivkmds.application.ass (Finished creating markers for
>>>>> com.dcx.ivkmds.application.ass)
>>>>>
>>>>>
>>>>>
>>>>> Line 370: 14:10:32 Project=com.dcx.ivkmds.fwk.test.ass, kind of build
>>>>> requested=Full AspectJ compilation
>>>>>
>>>>> Line 387: 14:18:45 Types affected during build = 24
>>>>>
>>>>> Line 390; 14:18:46 Timer event: 493759ms: Total time spent in
>>>>> AJBuilder.build() -> more than 8 minutes!
>>>>>
>>>>>
>>>>>
>>>>> Line 701: 14:21:10 Timer event: 62468ms: Create markers:
>>>>> com.dcx.ivkmds.fwk.test.ass (Finished creating markers for
>>>>> com.dcx.ivkmds.fwk.test.ass)
>>>>>
>>>>>
>>>>>
>>>>> I figure that the types in these projects have a lot of joinpoints. Is there
>>>>> any place where I can see the number of joinpoints in these projects?
>>>>>
>>>>>
>>>>>
>>>>> Actually, the number of types involved isn't very high I would say.
>>>>>
>>>>>
>>>>>
>>>>> So the question is are these compile / weave times normal? For us it is a
>>>>> major problem when the time to rebuild the whole workspace takes 38 minutes.
>>>>>
>>>>>
>>>>>
>>>>> Is there anything I could try to do to improve the performance besides
>>>>> reducing the number of joinpoints?
>>>>>
>>>>>
>>>>>
>>>>> I really like the benefit AspectJ provides but under these circumstances it
>>>>> is very unpleasant and difficult to work with it.
>>>>>
>>>>>
>>>>>
>>>>> I'm looking forward to your reply.
>>>>>
>>>>>
>>>>>
>>>>> Regards,
>>>>>
>>>>>
>>>>>
>>>>> Thomas
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> aspectj-users mailing list
>>>>> aspectj-users@...
>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>>
>>>>>
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>
>>> _______________________________________________
>>> aspectj-users mailing list
>>> aspectj-users@...
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>> _______________________________________________
>>> aspectj-users mailing list
>>> aspectj-users@...
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>
>>
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

RE: Overall problem with AJDT performance

by thofmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Here's the output of a complete workspace build (used to be 38 minutes the last time):


11:5:7 Startup information:
   AJDT version: 2.0.1.e35x-20091001-1600 for Eclipse 3.5
   AspectJ Compiler version: 1.6.6
   usingVisualiser=true
   usingXref=true
   usingCUprovider=true
   promptForAutoOpenCrossReference = false
   org.eclipse.ajdt.internal.ui.tracing.checked.filters = set: Compiler,Builder
   ajde.version.at.previous.startup = @AJDEVERSION@
11:5:49 Compiler configuration for project com.dcx.ivkmds.fwk.common.spec.trace.aspectj doesn't know previous state, so assuming EVERYTHING has changed.
11:5:49 ===========================================================================================
11:5:49 Build kind = FULLBUILD
11:5:50 Project=com.dcx.ivkmds.fwk.common.spec.trace.aspectj, kind of build requested=Full AspectJ compilation
11:5:50 Timer event: 9ms: Flush included source file cache
11:5:50 Timer event: 0ms: Check delta
11:5:50 Builder: Tidied output folder(s), removed class files and derived resources
11:5:50 Timer event: 368ms: Pre compile
11:5:50 Compiler configuration for project com.dcx.ivkmds.fwk.common.spec.trace.aspectj has been read by compiler.  Resetting.
11:5:50      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

11:5:50 Resetting list of modified source files.  Was null
11:5:50 Preparing for build: not going to be incremental because no successful previous full build
11:5:52 Timer event: 2018ms: Time to first compiled message
11:5:52 Timer event: 2032ms: Time to first woven message
11:5:52 AspectJ reports build successful, build was: FULL
11:5:52 AJDE Callback: finish. Was full build: true
11:5:52 Timer event: 2022ms: Total time spent in AJDE
11:5:52 Timer event: 0ms: Refresh after build
11:5:52 Types affected during build = 2
11:5:52 Timer event: 2689ms: Total time spent in AJBuilder.build()
11:5:52 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.common.spec.trace.aspectj
11:6:10 Compiler configuration for project com.dcx.ivkmds.fwk.common.ass.persist doesn't know previous state, so assuming EVERYTHING has changed.
11:6:10 ===========================================================================================
11:6:10 Build kind = FULLBUILD
11:6:10 Project=com.dcx.ivkmds.fwk.common.ass.persist, kind of build requested=Full AspectJ compilation
11:6:10 Timer event: 0ms: Flush included source file cache
11:6:10 Timer event: 0ms: Check delta
11:6:10 Builder: Tidied output folder(s), removed class files and derived resources
11:6:10 Timer event: 55ms: Pre compile
11:6:10 Compiler configuration for project com.dcx.ivkmds.fwk.common.ass.persist has been read by compiler.  Resetting.
11:6:10      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

11:6:10 Resetting list of modified source files.  Was null
11:6:10 Preparing for build: not going to be incremental because no successful previous full build
11:6:11 Timer event: 735ms: Time to first compiled message
11:6:11 Timer event: 826ms: Time to first woven message
11:6:12 AspectJ reports build successful, build was: FULL
11:6:12 AJDE Callback: finish. Was full build: true
11:6:12 Timer event: 1805ms: Total time spent in AJDE
11:6:12 Timer event: 0ms: Refresh after build
11:6:12 Types affected during build = 47
11:6:12 Timer event: 1873ms: Total time spent in AJBuilder.build()
11:6:12 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.common.ass.persist
11:6:12 Compiler configuration for project com.dcx.ivkmds.fwk.common.businessobjects.persistent doesn't know previous state, so assuming EVERYTHING has changed.
11:6:12 ===========================================================================================
11:6:12 Build kind = FULLBUILD
11:6:12 Project=com.dcx.ivkmds.fwk.common.businessobjects.persistent, kind of build requested=Full AspectJ compilation
11:6:12 Timer event: 0ms: Flush included source file cache
11:6:12 Timer event: 0ms: Check delta
11:6:12 Builder: Tidied output folder(s), removed class files and derived resources
11:6:13 Timer event: 231ms: Pre compile
11:6:13 Compiler configuration for project com.dcx.ivkmds.fwk.common.businessobjects.persistent has been read by compiler.  Resetting.
11:6:13      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

11:6:13 Resetting list of modified source files.  Was null
11:6:13 Preparing for build: not going to be incremental because no successful previous full build
11:6:13 Timer event: 320ms: Time to first compiled message
11:6:13 Timer event: 324ms: Time to first woven message
11:6:13 AspectJ reports build successful, build was: FULL
11:6:13 AJDE Callback: finish. Was full build: true
11:6:13 Timer event: 401ms: Total time spent in AJDE
11:6:13 Timer event: 0ms: Refresh after build
11:6:13 Types affected during build = 6
11:6:13 Timer event: 635ms: Total time spent in AJBuilder.build()
11:6:13 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.common.businessobjects.persistent
11:6:14 Compiler configuration for project com.dcx.ivkmds.fwk.rcs doesn't know previous state, so assuming EVERYTHING has changed.
11:6:14 ===========================================================================================
11:6:14 Build kind = FULLBUILD
11:6:14 Project=com.dcx.ivkmds.fwk.rcs, kind of build requested=Full AspectJ compilation
11:6:14 Timer event: 0ms: Flush included source file cache
11:6:14 Timer event: 0ms: Check delta
11:6:14 Builder: Tidied output folder(s), removed class files and derived resources
11:6:14 Timer event: 199ms: Pre compile
11:6:14 Compiler configuration for project com.dcx.ivkmds.fwk.rcs has been read by compiler.  Resetting.
11:6:14      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

11:6:14 Resetting list of modified source files.  Was null
11:6:14 Preparing for build: not going to be incremental because no successful previous full build
11:6:16 Timer event: 1526ms: Time to first compiled message
11:6:16 Timer event: 1555ms: Time to first woven message
11:6:18 AspectJ reports build successful, build was: FULL
11:6:18 AJDE Callback: finish. Was full build: true
11:6:18 Timer event: 4167ms: Total time spent in AJDE
11:6:18 Timer event: 0ms: Refresh after build
11:6:18 Types affected during build = 87
11:6:19 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.rcs
11:6:19 Timer event: 4407ms: Total time spent in AJBuilder.build()
11:6:19 Compiler configuration for project com.dcx.ivkmds.csolver.cts doesn't know previous state, so assuming EVERYTHING has changed.
11:6:19 ===========================================================================================
11:6:19 Build kind = FULLBUILD
11:6:19 Project=com.dcx.ivkmds.csolver.cts, kind of build requested=Full AspectJ compilation
11:6:19 Timer event: 0ms: Flush included source file cache
11:6:19 Timer event: 0ms: Check delta
11:6:19 Builder: Tidied output folder(s), removed class files and derived resources
11:6:19 Timer event: 357ms: Pre compile
11:6:19 Compiler configuration for project com.dcx.ivkmds.csolver.cts has been read by compiler.  Resetting.
11:6:19      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

11:6:19 Resetting list of modified source files.  Was null
11:6:19 Preparing for build: not going to be incremental because no successful previous full build
11:6:25 Timer event: 6210ms: Time to first compiled message
11:6:25 Timer event: 6331ms: Time to first woven message
11:6:58 AspectJ reports build successful, build was: FULL
11:6:58 AJDE Callback: finish. Was full build: true
11:6:58 Timer event: 38858ms: Total time spent in AJDE
11:6:58 Timer event: 0ms: Refresh after build
11:6:58 Types affected during build = 343
11:6:58 Timer event: 39615ms: Total time spent in AJBuilder.build()
11:6:58 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.csolver.cts
11:7:0 Compiler configuration for project com.dcx.ivkmds.common.businessobjects.persistent doesn't know previous state, so assuming EVERYTHING has changed.
11:7:0 ===========================================================================================
11:7:0 Build kind = FULLBUILD
11:7:0 Project=com.dcx.ivkmds.common.businessobjects.persistent, kind of build requested=Full AspectJ compilation
11:7:0 Timer event: 0ms: Flush included source file cache
11:7:0 Timer event: 0ms: Check delta
11:7:0 Builder: Tidied output folder(s), removed class files and derived resources
11:7:8 Timer event: 7999ms: Pre compile
11:7:9 Compiler configuration for project com.dcx.ivkmds.common.businessobjects.persistent has been read by compiler.  Resetting.
11:7:9      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:7:9 Resetting list of modified source files.  Was null
11:7:9 Preparing for build: not going to be incremental because no successful previous full build
11:7:13 Timer event: 4315ms: Time to first compiled message
11:7:13 Timer event: 4319ms: Time to first woven message
11:7:23 AspectJ reports build successful, build was: FULL
11:7:27 AJDE Callback: finish. Was full build: true
11:7:27 Timer event: 18294ms: Total time spent in AJDE
11:7:27 Timer event: 0ms: Refresh after build
11:7:27 Types affected during build = 326
11:7:27 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.common.businessobjects.persistent
11:7:27 Timer event: 26606ms: Total time spent in AJBuilder.build()
11:7:30 Compiler configuration for project com.dcx.ivkmds.common.businessobjects.fwktest doesn't know previous state, so assuming EVERYTHING has changed.
11:7:30 ===========================================================================================
11:7:31 Build kind = FULLBUILD
11:7:31 Project=com.dcx.ivkmds.common.businessobjects.fwktest, kind of build requested=Full AspectJ compilation
11:7:31 Timer event: 0ms: Flush included source file cache
11:7:31 Timer event: 4ms: Check delta
11:7:31 Builder: Tidied output folder(s), removed class files and derived resources
11:7:31 Timer event: 327ms: Pre compile
11:7:31 Compiler configuration for project com.dcx.ivkmds.common.businessobjects.fwktest has been read by compiler.  Resetting.
11:7:31      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

11:7:31 Resetting list of modified source files.  Was null
11:7:31 Preparing for build: not going to be incremental because no successful previous full build
11:7:31 Timer event: 302ms: Time to first compiled message
11:7:31 Timer event: 330ms: Time to first woven message
11:7:32 AspectJ reports build successful, build was: FULL
11:7:32 AJDE Callback: finish. Was full build: true
11:7:32 Timer event: 1430ms: Total time spent in AJDE
11:7:32 Timer event: 0ms: Refresh after build
11:7:32 Types affected during build = 32
11:7:32 Timer event: 1792ms: Total time spent in AJBuilder.build()
11:7:32 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.common.businessobjects.fwktest
11:9:3 Compiler configuration for project com.dcx.ivkmds.fwk.ass doesn't know previous state, so assuming EVERYTHING has changed.
11:9:3 ===========================================================================================
11:9:3 Build kind = FULLBUILD
11:9:3 Project=com.dcx.ivkmds.fwk.ass, kind of build requested=Full AspectJ compilation
11:9:3 Timer event: 0ms: Flush included source file cache
11:9:3 Timer event: 0ms: Check delta
11:9:3 Builder: Tidied output folder(s), removed class files and derived resources
11:9:3 Timer event: 504ms: Pre compile
11:9:4 Compiler configuration for project com.dcx.ivkmds.fwk.ass has been read by compiler.  Resetting.
11:9:4      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:9:4 Resetting list of modified source files.  Was null
11:9:4 Preparing for build: not going to be incremental because no successful previous full build
11:9:8 Timer event: 4175ms: Time to first compiled message
11:9:8 Timer event: 4351ms: Time to first woven message
11:9:14 AspectJ reports build successful, build was: FULL
11:9:14 AJDE Callback: finish. Was full build: true
11:9:14 Timer event: 10734ms: Total time spent in AJDE
11:9:14 Timer event: 0ms: Refresh after build
11:9:14 Types affected during build = 117
11:9:14 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.ass
11:9:14 Timer event: 11302ms: Total time spent in AJBuilder.build()
11:9:16 Compiler configuration for project com.dcx.ivkmds.application.ass doesn't know previous state, so assuming EVERYTHING has changed.
11:9:16 ===========================================================================================
11:9:16 Build kind = FULLBUILD
11:9:16 Project=com.dcx.ivkmds.application.ass, kind of build requested=Full AspectJ compilation
11:9:16 Timer event: 0ms: Flush included source file cache
11:9:16 Timer event: 0ms: Check delta
11:9:16 Builder: Tidied output folder(s), removed class files and derived resources
11:9:17 Timer event: 1020ms: Pre compile
11:9:17 Compiler configuration for project com.dcx.ivkmds.application.ass has been read by compiler.  Resetting.
11:9:17      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

11:9:17 Resetting list of modified source files.  Was null
11:9:17 Preparing for build: not going to be incremental because no successful previous full build
11:9:20 Timer event: 2860ms: Time to first compiled message
11:9:20 Timer event: 2935ms: Time to first woven message
11:10:17 AspectJ reports build successful, build was: FULL
11:10:18 AJDE Callback: finish. Was full build: true
11:10:18 Timer event: 60802ms: Total time spent in AJDE
11:10:18 Timer event: 0ms: Refresh after build
11:10:18 Types affected during build = 292
11:10:18 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.application.ass
11:10:18 Timer event: 61863ms: Total time spent in AJBuilder.build()
11:10:18 Compiler configuration for project com.dcx.ivkmds.csolver.ass doesn't know previous state, so assuming EVERYTHING has changed.
11:10:18 ===========================================================================================
11:10:18 Build kind = FULLBUILD
11:10:18 Project=com.dcx.ivkmds.csolver.ass, kind of build requested=Full AspectJ compilation
11:10:18 Timer event: 0ms: Flush included source file cache
11:10:18 Timer event: 0ms: Check delta
11:10:18 Builder: Tidied output folder(s), removed class files and derived resources
11:10:19 Timer event: 424ms: Pre compile
11:10:19 Compiler configuration for project com.dcx.ivkmds.csolver.ass has been read by compiler.  Resetting.
11:10:19      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:10:19 Resetting list of modified source files.  Was null
11:10:19 Preparing for build: not going to be incremental because no successful previous full build
11:10:21 Timer event: 2396ms: Time to first compiled message
11:10:21 Timer event: 2549ms: Time to first woven message
11:10:41 AspectJ reports build successful, build was: FULL
11:10:41 AJDE Callback: finish. Was full build: true
11:10:41 Timer event: 22602ms: Total time spent in AJDE
11:10:41 Timer event: 0ms: Refresh after build
11:10:41 Types affected during build = 83
11:10:41 Timer event: 23042ms: Total time spent in AJBuilder.build()
11:10:41 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.csolver.ass
11:10:54 Compiler configuration for project com.dcx.ivkmds._45_export_import.ass doesn't know previous state, so assuming EVERYTHING has changed.
11:10:54 ===========================================================================================
11:10:54 Build kind = FULLBUILD
11:10:54 Project=com.dcx.ivkmds._45_export_import.ass, kind of build requested=Full AspectJ compilation
11:10:54 Timer event: 0ms: Flush included source file cache
11:10:54 Timer event: 0ms: Check delta
11:10:54 Builder: Tidied output folder(s), removed class files and derived resources
11:10:55 Timer event: 416ms: Pre compile
11:10:55 Compiler configuration for project com.dcx.ivkmds._45_export_import.ass has been read by compiler.  Resetting.
11:10:55      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:10:55 Resetting list of modified source files.  Was null
11:10:55 Preparing for build: not going to be incremental because no successful previous full build
11:11:3 Timer event: 8062ms: Time to first compiled message
11:11:3 Timer event: 8084ms: Time to first woven message
11:12:53 AspectJ reports build successful, build was: FULL
11:12:53 AJDE Callback: finish. Was full build: true
11:12:53 Timer event: 118398ms: Total time spent in AJDE
11:12:53 Timer event: 0ms: Refresh after build
11:12:53 Types affected during build = 425
11:12:53 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds._45_export_import.ass
11:12:53 Timer event: 118919ms: Total time spent in AJBuilder.build()
11:13:3 Compiler configuration for project com.dcx.ivkmds._00_fwktest.ass doesn't know previous state, so assuming EVERYTHING has changed.
11:13:3 ===========================================================================================
11:13:3 Build kind = FULLBUILD
11:13:3 Project=com.dcx.ivkmds._00_fwktest.ass, kind of build requested=Full AspectJ compilation
11:13:3 Timer event: 0ms: Flush included source file cache
11:13:3 Timer event: 0ms: Check delta
11:13:3 Builder: Tidied output folder(s), removed class files and derived resources
11:13:3 Timer event: 82ms: Pre compile
11:13:4 Compiler configuration for project com.dcx.ivkmds._00_fwktest.ass has been read by compiler.  Resetting.
11:13:4      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

11:13:4 Resetting list of modified source files.  Was null
11:13:4 Preparing for build: not going to be incremental because no successful previous full build
11:13:4 Timer event: 316ms: Time to first compiled message
11:13:4 Timer event: 605ms: Time to first woven message
11:13:5 AspectJ reports build successful, build was: FULL
11:13:5 AJDE Callback: finish. Was full build: true
11:13:5 Timer event: 1840ms: Total time spent in AJDE
11:13:5 Timer event: 3ms: Refresh after build
11:13:5 Types affected during build = 4
11:13:5 Timer event: 1949ms: Total time spent in AJBuilder.build()
11:13:5 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds._00_fwktest.ass
11:13:5 Compiler configuration for project com.dcx.ivkmds.csolver.cts.standalone doesn't know previous state, so assuming EVERYTHING has changed.
11:13:5 ===========================================================================================
11:13:5 Build kind = FULLBUILD
11:13:5 Project=com.dcx.ivkmds.csolver.cts.standalone, kind of build requested=Full AspectJ compilation
11:13:5 Timer event: 0ms: Flush included source file cache
11:13:5 Timer event: 0ms: Check delta
11:13:5 Builder: Tidied output folder(s), removed class files and derived resources
11:13:6 Timer event: 261ms: Pre compile
11:13:6 Compiler configuration for project com.dcx.ivkmds.csolver.cts.standalone has been read by compiler.  Resetting.
11:13:6      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

11:13:6 Resetting list of modified source files.  Was null
11:13:6 Preparing for build: not going to be incremental because no successful previous full build
11:13:6 Timer event: 564ms: Time to first compiled message
11:13:6 Timer event: 574ms: Time to first woven message
11:13:7 AspectJ reports build successful, build was: FULL
11:13:7 AJDE Callback: finish. Was full build: true
11:13:7 Timer event: 1062ms: Total time spent in AJDE
11:13:7 Timer event: 0ms: Refresh after build
11:13:7 Types affected during build = 17
11:13:7 Timer event: 1326ms: Total time spent in AJBuilder.build()
11:13:7 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.csolver.cts.standalone
11:13:9 Compiler configuration for project com.dcx.ivkmds.application.rcs.standalone doesn't know previous state, so assuming EVERYTHING has changed.
11:13:9 ===========================================================================================
11:13:9 Build kind = FULLBUILD
11:13:9 Project=com.dcx.ivkmds.application.rcs.standalone, kind of build requested=Full AspectJ compilation
11:13:9 Timer event: 0ms: Flush included source file cache
11:13:9 Timer event: 0ms: Check delta
11:13:9 Builder: Tidied output folder(s), removed class files and derived resources
11:13:9 Timer event: 384ms: Pre compile
11:13:9 Compiler configuration for project com.dcx.ivkmds.application.rcs.standalone has been read by compiler.  Resetting.
11:13:9      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

11:13:9 Resetting list of modified source files.  Was null
11:13:9 Preparing for build: not going to be incremental because no successful previous full build
11:13:10 Timer event: 618ms: Time to first compiled message
11:13:10 Timer event: 620ms: Time to first woven message
11:13:10 AspectJ reports build successful, build was: FULL
11:13:10 AJDE Callback: finish. Was full build: true
11:13:10 Timer event: 983ms: Total time spent in AJDE
11:13:10 Timer event: 0ms: Refresh after build
11:13:10 Types affected during build = 9
11:13:10 Timer event: 1375ms: Total time spent in AJBuilder.build()
11:13:10 Compiler configuration for project com.dcx.ivkmds.testfwk doesn't know previous state, so assuming EVERYTHING has changed.
11:13:10 ===========================================================================================
11:13:10 Build kind = FULLBUILD
11:13:10 Project=com.dcx.ivkmds.testfwk, kind of build requested=Full AspectJ compilation
11:13:10 Timer event: 1ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.application.rcs.standalone
11:13:10 Timer event: 0ms: Flush included source file cache
11:13:10 Timer event: 0ms: Check delta
11:13:10 Builder: Tidied output folder(s), removed class files and derived resources
11:13:11 Timer event: 835ms: Pre compile
11:13:11 Compiler configuration for project com.dcx.ivkmds.testfwk has been read by compiler.  Resetting.
11:13:11      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:13:11 Resetting list of modified source files.  Was null
11:13:11 Preparing for build: not going to be incremental because no successful previous full build
11:13:16 Timer event: 4213ms: Time to first compiled message
11:13:16 Timer event: 4610ms: Time to first woven message
11:13:20 AspectJ reports build successful, build was: FULL
11:13:21 AJDE Callback: finish. Was full build: true
11:13:21 Timer event: 9234ms: Total time spent in AJDE
11:13:21 Timer event: 0ms: Refresh after build
11:13:21 Types affected during build = 45
11:13:21 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.testfwk
11:13:21 Timer event: 10147ms: Total time spent in AJBuilder.build()
11:13:21 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
11:13:21 ===========================================================================================
11:13:21 Build kind = FULLBUILD
11:13:21 Project=com.dcx.ivkmds.fwk.test.ass, kind of build requested=Full AspectJ compilation
11:13:21 Timer event: 0ms: Flush included source file cache
11:13:21 Timer event: 0ms: Check delta
11:13:21 Builder: Tidied output folder(s), removed class files and derived resources
11:13:21 Timer event: 564ms: Pre compile
11:13:21 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass has been read by compiler.  Resetting.
11:13:21      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:13:21 Resetting list of modified source files.  Was null
11:13:21 Preparing for build: not going to be incremental because no successful previous full build
11:13:22 Timer event: 678ms: Time to first compiled message
11:13:22 Timer event: 971ms: Time to first woven message
11:13:55 AspectJ reports build successful, build was: FULL
11:13:56 AJDE Callback: finish. Was full build: true
11:13:56 Timer event: 34438ms: Total time spent in AJDE
11:13:56 Timer event: 1ms: Refresh after build
11:13:56 Types affected during build = 24
11:13:56 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.ass
11:13:56 Timer event: 35031ms: Total time spent in AJBuilder.build()
11:13:56 Compiler configuration for project com.dcx.ivkmds.fwk.test.rcs doesn't know previous state, so assuming EVERYTHING has changed.
11:13:56 ===========================================================================================
11:13:56 Build kind = FULLBUILD
11:13:56 Project=com.dcx.ivkmds.fwk.test.rcs, kind of build requested=Full AspectJ compilation
11:13:56 Timer event: 0ms: Flush included source file cache
11:13:56 Timer event: 0ms: Check delta
11:13:56 Builder: Tidied output folder(s), removed class files and derived resources
11:13:56 Timer event: 140ms: Pre compile
11:13:56 Compiler configuration for project com.dcx.ivkmds.fwk.test.rcs has been read by compiler.  Resetting.
11:13:56      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:13:56 Resetting list of modified source files.  Was null
11:13:56 Preparing for build: not going to be incremental because no successful previous full build
11:13:56 Timer event: 382ms: Time to first compiled message
11:13:56 Timer event: 417ms: Time to first woven message
11:13:57 AspectJ reports build successful, build was: FULL
11:13:57 AJDE Callback: finish. Was full build: true
11:13:57 Timer event: 1145ms: Total time spent in AJDE
11:13:57 Timer event: 0ms: Refresh after build
11:13:57 Types affected during build = 4
11:13:57 Timer event: 1290ms: Total time spent in AJBuilder.build()
11:13:57 Compiler configuration for project com.dcx.ivkmds.fwk.test.common doesn't know previous state, so assuming EVERYTHING has changed.
11:13:57 ===========================================================================================
11:13:57 Build kind = FULLBUILD
11:13:57 Project=com.dcx.ivkmds.fwk.test.common, kind of build requested=Full AspectJ compilation
11:13:57 Timer event: 0ms: Flush included source file cache
11:13:57 Timer event: 0ms: Check delta
11:13:57 Builder: Tidied output folder(s), removed class files and derived resources
11:13:57 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.rcs
11:13:57 Timer event: 146ms: Pre compile
11:13:57 Compiler configuration for project com.dcx.ivkmds.fwk.test.common has been read by compiler.  Resetting.
11:13:57      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:13:57 Resetting list of modified source files.  Was null
11:13:57 Preparing for build: not going to be incremental because no successful previous full build
11:13:58 Timer event: 352ms: Time to first compiled message
11:13:58 Timer event: 353ms: Time to first woven message
11:13:58 AspectJ reports build successful, build was: FULL
11:13:58 AJDE Callback: finish. Was full build: true
11:13:58 Timer event: 442ms: Total time spent in AJDE
11:13:58 Timer event: 0ms: Refresh after build
11:13:58 Types affected during build = 2
11:13:58 Timer event: 593ms: Total time spent in AJBuilder.build()
11:13:58 Compiler configuration for project com.dcx.ivkmds.csolver.test.cts doesn't know previous state, so assuming EVERYTHING has changed.
11:13:58 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.common
11:13:58 ===========================================================================================
11:13:58 Build kind = FULLBUILD
11:13:58 Project=com.dcx.ivkmds.csolver.test.cts, kind of build requested=Full AspectJ compilation
11:13:58 Timer event: 0ms: Flush included source file cache
11:13:58 Timer event: 0ms: Check delta
11:13:58 Builder: Tidied output folder(s), removed class files and derived resources
11:13:58 Timer event: 275ms: Pre compile
11:13:58 Compiler configuration for project com.dcx.ivkmds.csolver.test.cts has been read by compiler.  Resetting.
11:13:58      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:13:58 Resetting list of modified source files.  Was null
11:13:58 Preparing for build: not going to be incremental because no successful previous full build
11:13:59 Timer event: 717ms: Time to first compiled message
11:13:59 Timer event: 770ms: Time to first woven message
11:14:0 AspectJ reports build successful, build was: FULL
11:14:0 AJDE Callback: finish. Was full build: true
11:14:0 Timer event: 2483ms: Total time spent in AJDE
11:14:0 Timer event: 0ms: Refresh after build
11:14:0 Types affected during build = 12
11:14:0 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.csolver.test.cts
11:14:0 Timer event: 2807ms: Total time spent in AJBuilder.build()
11:14:1 Compiler configuration for project com.dcx.ivkmds.application.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
11:14:1 ===========================================================================================
11:14:1 Build kind = FULLBUILD
11:14:1 Project=com.dcx.ivkmds.application.test.ass, kind of build requested=Full AspectJ compilation
11:14:1 Timer event: 0ms: Flush included source file cache
11:14:1 Timer event: 7ms: Check delta
11:14:1 Builder: Tidied output folder(s), removed class files and derived resources
11:14:1 Timer event: 756ms: Pre compile
11:14:1 Compiler configuration for project com.dcx.ivkmds.application.test.ass has been read by compiler.  Resetting.
11:14:1      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

11:14:1 Resetting list of modified source files.  Was null
11:14:1 Preparing for build: not going to be incremental because no successful previous full build
11:14:5 Timer event: 3495ms: Time to first compiled message
11:14:5 Timer event: 3508ms: Time to first woven message
11:14:17 AspectJ reports build successful, build was: FULL
11:14:17 AJDE Callback: finish. Was full build: true
11:14:18 Timer event: 16175ms: Total time spent in AJDE
11:14:18 Timer event: 0ms: Refresh after build
11:14:18 Types affected during build = 152
11:14:18 Timer event: 17186ms: Total time spent in AJBuilder.build()
11:14:18 Compiler configuration for project com.dcx.ivkmds.csolver.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
11:14:18 ===========================================================================================
11:14:18 Build kind = FULLBUILD
11:14:18 Project=com.dcx.ivkmds.csolver.test.ass, kind of build requested=Full AspectJ compilation
11:14:18 Timer event: 0ms: Flush included source file cache
11:14:18 Timer event: 0ms: Check delta
11:14:18 Builder: Tidied output folder(s), removed class files and derived resources
11:14:18 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.application.test.ass
11:14:18 Timer event: 302ms: Pre compile
11:14:18 Compiler configuration for project com.dcx.ivkmds.csolver.test.ass has been read by compiler.  Resetting.
11:14:18      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:14:18 Resetting list of modified source files.  Was null
11:14:18 Preparing for build: not going to be incremental because no successful previous full build
11:14:20 Timer event: 1732ms: Time to first compiled message
11:14:20 Timer event: 1904ms: Time to first woven message
11:14:24 AspectJ reports build successful, build was: FULL
11:14:24 AJDE Callback: finish. Was full build: true
11:14:24 Timer event: 6237ms: Total time spent in AJDE
11:14:24 Timer event: 0ms: Refresh after build
11:14:24 Types affected during build = 31
11:14:25 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.csolver.test.ass
11:14:25 Timer event: 6696ms: Total time spent in AJBuilder.build()
11:14:25 Compiler configuration for project com.dcx.ivkmds.application.test.rcs.standalone doesn't know previous state, so assuming EVERYTHING has changed.
11:14:25 ===========================================================================================
11:14:25 Build kind = FULLBUILD
11:14:25 Project=com.dcx.ivkmds.application.test.rcs.standalone, kind of build requested=Full AspectJ compilation
11:14:25 Timer event: 0ms: Flush included source file cache
11:14:25 Timer event: 0ms: Check delta
11:14:25 Builder: Tidied output folder(s), removed class files and derived resources
11:14:25 Timer event: 77ms: Pre compile
11:14:25 Compiler configuration for project com.dcx.ivkmds.application.test.rcs.standalone has been read by compiler.  Resetting.
11:14:25      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:14:25 Resetting list of modified source files.  Was null
11:14:25 Preparing for build: not going to be incremental because no successful previous full build
11:14:25 Timer event: 335ms: Time to first compiled message
11:14:25 AspectJ reports build successful, build was: FULL
11:14:25 AJDE Callback: finish. Was full build: true
11:14:25 Timer event: 364ms: Total time spent in AJDE
11:14:25 Timer event: 0ms: Refresh after build
11:14:25 Types affected during build = 1
11:14:25 Timer event: 449ms: Total time spent in AJBuilder.build()
11:14:25 Compiler configuration for project com.dcx.ivkmds.application.test.common doesn't know previous state, so assuming EVERYTHING has changed.
11:14:25 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.application.test.rcs.standalone
11:14:25 ===========================================================================================
11:14:25 Build kind = FULLBUILD
11:14:25 Project=com.dcx.ivkmds.application.test.common, kind of build requested=Full AspectJ compilation
11:14:25 Timer event: 0ms: Flush included source file cache
11:14:25 Timer event: 0ms: Check delta
11:14:25 Builder: Tidied output folder(s), removed class files and derived resources
11:14:25 Timer event: 96ms: Pre compile
11:14:25 Compiler configuration for project com.dcx.ivkmds.application.test.common has been read by compiler.  Resetting.
11:14:25      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:14:25 Resetting list of modified source files.  Was null
11:14:25 Preparing for build: not going to be incremental because no successful previous full build
11:14:26 Timer event: 450ms: Time to first compiled message
11:14:26 Timer event: 459ms: Time to first woven message
11:14:26 AspectJ reports build successful, build was: FULL
11:14:26 AJDE Callback: finish. Was full build: true
11:14:26 Timer event: 558ms: Total time spent in AJDE
11:14:26 Timer event: 0ms: Refresh after build
11:14:26 Types affected during build = 1
11:14:26 Timer event: 739ms: Total time spent in AJBuilder.build()
11:14:26 Compiler configuration for project com.dcx.ivkmds._55_archive.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
11:14:26 ===========================================================================================
11:14:26 Build kind = FULLBUILD
11:14:26 Project=com.dcx.ivkmds._55_archive.test.ass, kind of build requested=Full AspectJ compilation
11:14:26 Timer event: 0ms: Flush included source file cache
11:14:26 Timer event: 0ms: Check delta
11:14:26 Builder: Tidied output folder(s), removed class files and derived resources
11:14:26 Timer event: 117ms: Pre compile
11:14:26 Compiler configuration for project com.dcx.ivkmds._55_archive.test.ass has been read by compiler.  Resetting.
11:14:26      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:14:26 Resetting list of modified source files.  Was null
11:14:26 Preparing for build: not going to be incremental because no successful previous full build
11:14:26 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.application.test.common
11:14:26 Timer event: 372ms: Time to first compiled message
11:14:26 Timer event: 414ms: Time to first woven message
11:14:26 AspectJ reports build successful, build was: FULL
11:14:26 AJDE Callback: finish. Was full build: true
11:14:26 Timer event: 585ms: Total time spent in AJDE
11:14:26 Timer event: 0ms: Refresh after build
11:14:26 Types affected during build = 2
11:14:27 Timer event: 716ms: Total time spent in AJBuilder.build()
11:14:27 Compiler configuration for project com.dcx.ivkmds._50_reports.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
11:14:27 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds._55_archive.test.ass
11:14:27 ===========================================================================================
11:14:27 Build kind = FULLBUILD
11:14:27 Project=com.dcx.ivkmds._50_reports.test.ass, kind of build requested=Full AspectJ compilation
11:14:27 Timer event: 0ms: Flush included source file cache
11:14:27 Timer event: 0ms: Check delta
11:14:27 Builder: Tidied output folder(s), removed class files and derived resources
11:14:27 Timer event: 428ms: Pre compile
11:14:27 Compiler configuration for project com.dcx.ivkmds._50_reports.test.ass has been read by compiler.  Resetting.
11:14:27      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:14:27 Resetting list of modified source files.  Was null
11:14:27 Preparing for build: not going to be incremental because no successful previous full build
11:14:27 Timer event: 422ms: Time to first compiled message
11:14:27 Timer event: 534ms: Time to first woven message
11:14:28 AspectJ reports build successful, build was: FULL
11:14:28 AJDE Callback: finish. Was full build: true
11:14:28 Timer event: 636ms: Total time spent in AJDE
11:14:28 Timer event: 0ms: Refresh after build
11:14:28 Types affected during build = 1
11:14:28 Timer event: 1106ms: Total time spent in AJBuilder.build()
11:14:28 Timer event: 1ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds._50_reports.test.ass
11:14:28 Compiler configuration for project com.dcx.ivkmds._45_export_import.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
11:14:28 ===========================================================================================
11:14:28 Build kind = FULLBUILD
11:14:28 Project=com.dcx.ivkmds._45_export_import.test.ass, kind of build requested=Full AspectJ compilation
11:14:28 Timer event: 0ms: Flush included source file cache
11:14:28 Timer event: 7ms: Check delta
11:14:28 Builder: Tidied output folder(s), removed class files and derived resources
11:14:28 Timer event: 636ms: Pre compile
11:14:29 Compiler configuration for project com.dcx.ivkmds._45_export_import.test.ass has been read by compiler.  Resetting.
11:14:29      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
11:14:29 Resetting list of modified source files.  Was null
11:14:29 Preparing for build: not going to be incremental because no successful previous full build
11:14:30 Timer event: 1418ms: Time to first compiled message
11:14:30 Timer event: 1446ms: Time to first woven message
11:14:31 AspectJ reports build successful, build was: FULL
11:14:32 AJDE Callback: finish. Was full build: true
11:14:32 Timer event: 3287ms: Total time spent in AJDE
11:14:32 Timer event: 0ms: Refresh after build
11:14:32 Types affected during build = 25
11:14:32 Timer event: 3962ms: Total time spent in AJBuilder.build()
11:14:32 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds._45_export_import.test.ass
11:14:35 Timer event: 5ms: Delete markers: com.dcx.ivkmds.fwk.ass (Finished deleting markers for com.dcx.ivkmds.fwk.ass)
11:14:35 Timer event: 23ms: Delete markers: com.dcx.ivkmds.application.test.ass (Finished deleting markers for com.dcx.ivkmds.application.test.ass)
11:14:35 Timer event: 108ms: Delete markers: com.dcx.ivkmds.fwk.rcs (Finished deleting markers for com.dcx.ivkmds.fwk.rcs)
11:14:35 Timer event: 121ms: Delete markers: com.dcx.ivkmds.testfwk (Finished deleting markers for com.dcx.ivkmds.testfwk)
11:14:36 Timer event: 895ms: Delete markers: com.dcx.ivkmds.fwk.common.spec.trace.aspectj (Finished deleting markers for com.dcx.ivkmds.fwk.common.spec.trace.aspectj)
11:14:36 Timer event: 5ms: Create markers: com.dcx.ivkmds.fwk.common.spec.trace.aspectj (Finished creating markers for com.dcx.ivkmds.fwk.common.spec.trace.aspectj)
11:14:36 Created 0 markers in 2 files
11:14:36 Timer event: 921ms: Delete markers: com.dcx.ivkmds.csolver.test.cts (Finished deleting markers for com.dcx.ivkmds.csolver.test.cts)
11:14:36 Timer event: 939ms: Delete markers: com.dcx.ivkmds._45_export_import.ass (Finished deleting markers for com.dcx.ivkmds._45_export_import.ass)
11:14:36 Timer event: 1059ms: Delete markers: com.dcx.ivkmds.fwk.common.ass.persist (Finished deleting markers for com.dcx.ivkmds.fwk.common.ass.persist)
11:14:36 Timer event: 1079ms: Delete markers: com.dcx.ivkmds.csolver.ass (Finished deleting markers for com.dcx.ivkmds.csolver.ass)
11:14:36 Timer event: 1107ms: Delete markers: com.dcx.ivkmds._50_reports.test.ass (Finished deleting markers for com.dcx.ivkmds._50_reports.test.ass)
11:14:36 Timer event: 1109ms: Delete markers: com.dcx.ivkmds.application.ass (Finished deleting markers for com.dcx.ivkmds.application.ass)
11:14:36 Timer event: 1111ms: Delete markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished deleting markers for com.dcx.ivkmds.common.businessobjects.fwktest)
11:14:36 Timer event: 624ms: Create markers: com.dcx.ivkmds._50_reports.test.ass (Finished creating markers for com.dcx.ivkmds._50_reports.test.ass)
11:14:36 Created 4 markers in 1 files
11:14:39 Timer event: 3177ms: Create markers: com.dcx.ivkmds._45_export_import.ass (Finished creating markers for com.dcx.ivkmds._45_export_import.ass)
11:14:39 Created 14 markers in 425 files
11:14:42 Timer event: 6461ms: Create markers: com.dcx.ivkmds.csolver.test.cts (Finished creating markers for com.dcx.ivkmds.csolver.test.cts)
11:14:42 Created 30 markers in 12 files
11:14:46 Timer event: 9838ms: Create markers: com.dcx.ivkmds.fwk.common.ass.persist (Finished creating markers for com.dcx.ivkmds.fwk.common.ass.persist)
11:14:46 Created 55 markers in 47 files
11:14:46 Timer event: 10954ms: Create markers: com.dcx.ivkmds.fwk.rcs (Finished creating markers for com.dcx.ivkmds.fwk.rcs)
11:14:46 Created 57 markers in 87 files
11:14:50 Timer event: 14925ms: Create markers: com.dcx.ivkmds.testfwk (Finished creating markers for com.dcx.ivkmds.testfwk)
11:14:50 Created 93 markers in 45 files
11:14:50 Timer event: 14486ms: Create markers: com.dcx.ivkmds.csolver.ass (Finished creating markers for com.dcx.ivkmds.csolver.ass)
11:14:50 Created 98 markers in 83 files
11:14:51 Timer event: 15538ms: Create markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished creating markers for com.dcx.ivkmds.common.businessobjects.fwktest)
11:14:51 Created 111 markers in 32 files
11:14:54 Timer event: 19330ms: Create markers: com.dcx.ivkmds.fwk.ass (Finished creating markers for com.dcx.ivkmds.fwk.ass)
11:14:54 Created 160 markers in 117 files
11:15:17 Timer event: 42399ms: Create markers: com.dcx.ivkmds.application.test.ass (Finished creating markers for com.dcx.ivkmds.application.test.ass)
11:15:17 Created 818 markers in 152 files
11:15:53 Timer event: 76936ms: Create markers: com.dcx.ivkmds.application.ass (Finished creating markers for com.dcx.ivkmds.application.ass)
11:15:53 Created 2615 markers in 292 files
11:15:55 Timer event: 18ms: Delete markers: com.dcx.ivkmds.csolver.cts.standalone (Finished deleting markers for com.dcx.ivkmds.csolver.cts.standalone)
11:15:55 Timer event: 20ms: Delete markers: com.dcx.ivkmds._00_fwktest.ass (Finished deleting markers for com.dcx.ivkmds._00_fwktest.ass)
11:15:55 Timer event: 22ms: Delete markers: com.dcx.ivkmds.application.test.rcs.standalone (Finished deleting markers for com.dcx.ivkmds.application.test.rcs.standalone)
11:15:55 Timer event: 1ms: Create markers: com.dcx.ivkmds.application.test.rcs.standalone (Finished creating markers for com.dcx.ivkmds.application.test.rcs.standalone)
11:15:55 Created 0 markers in 1 files
11:15:55 Timer event: 23ms: Delete markers: com.dcx.ivkmds.fwk.test.rcs (Finished deleting markers for com.dcx.ivkmds.fwk.test.rcs)
11:15:55 Timer event: 33ms: Delete markers: com.dcx.ivkmds.csolver.cts (Finished deleting markers for com.dcx.ivkmds.csolver.cts)
11:15:55 Timer event: 36ms: Delete markers: com.dcx.ivkmds.application.test.common (Finished deleting markers for com.dcx.ivkmds.application.test.common)
11:15:55 Timer event: 0ms: Create markers: com.dcx.ivkmds.application.test.common (Finished creating markers for com.dcx.ivkmds.application.test.common)
11:15:55 Created 0 markers in 1 files
11:15:55 Timer event: 36ms: Delete markers: com.dcx.ivkmds.application.rcs.standalone (Finished deleting markers for com.dcx.ivkmds.application.rcs.standalone)
11:15:55 Timer event: 36ms: Delete markers: com.dcx.ivkmds._55_archive.test.ass (Finished deleting markers for com.dcx.ivkmds._55_archive.test.ass)
11:15:55 Timer event: 43ms: Delete markers: com.dcx.ivkmds.fwk.common.businessobjects.persistent (Finished deleting markers for com.dcx.ivkmds.fwk.common.businessobjects.persistent)
11:15:55 Timer event: 0ms: Create markers: com.dcx.ivkmds.fwk.common.businessobjects.persistent (Finished creating markers for com.dcx.ivkmds.fwk.common.businessobjects.persistent)
11:15:55 Created 0 markers in 6 files
11:15:55 Timer event: 43ms: Delete markers: com.dcx.ivkmds.common.businessobjects.persistent (Finished deleting markers for com.dcx.ivkmds.common.businessobjects.persistent)
11:15:55 Timer event: 47ms: Delete markers: com.dcx.ivkmds.fwk.test.common (Finished deleting markers for com.dcx.ivkmds.fwk.test.common)
11:15:55 Timer event: 1ms: Create markers: com.dcx.ivkmds.fwk.test.common (Finished creating markers for com.dcx.ivkmds.fwk.test.common)
11:15:55 Created 0 markers in 2 files
11:15:55 Timer event: 48ms: Delete markers: com.dcx.ivkmds._45_export_import.test.ass (Finished deleting markers for com.dcx.ivkmds._45_export_import.test.ass)
11:15:55 Timer event: 58ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
11:15:55 Timer event: 64ms: Delete markers: com.dcx.ivkmds.csolver.test.ass (Finished deleting markers for com.dcx.ivkmds.csolver.test.ass)
11:15:55 Timer event: 334ms: Create markers: com.dcx.ivkmds.application.rcs.standalone (Finished creating markers for com.dcx.ivkmds.application.rcs.standalone)
11:15:55 Created 2 markers in 9 files
11:15:56 Timer event: 1018ms: Create markers: com.dcx.ivkmds.csolver.cts.standalone (Finished creating markers for com.dcx.ivkmds.csolver.cts.standalone)
11:15:56 Created 7 markers in 17 files
11:15:56 Timer event: 1453ms: Create markers: com.dcx.ivkmds._55_archive.test.ass (Finished creating markers for com.dcx.ivkmds._55_archive.test.ass)
11:15:56 Created 12 markers in 2 files
11:15:59 Timer event: 3970ms: Create markers: com.dcx.ivkmds.fwk.test.rcs (Finished creating markers for com.dcx.ivkmds.fwk.test.rcs)
11:15:59 Created 44 markers in 4 files
11:16:0 Timer event: 4645ms: Create markers: com.dcx.ivkmds._45_export_import.test.ass (Finished creating markers for com.dcx.ivkmds._45_export_import.test.ass)
11:16:0 Created 53 markers in 25 files
11:16:4 Timer event: 9272ms: Create markers: com.dcx.ivkmds.csolver.cts (Finished creating markers for com.dcx.ivkmds.csolver.cts)
11:16:4 Created 134 markers in 343 files
11:16:6 Timer event: 10978ms: Create markers: com.dcx.ivkmds.csolver.test.ass (Finished creating markers for com.dcx.ivkmds.csolver.test.ass)
11:16:6 Created 174 markers in 31 files
11:16:6 Timer event: 11216ms: Create markers: com.dcx.ivkmds._00_fwktest.ass (Finished creating markers for com.dcx.ivkmds._00_fwktest.ass)
11:16:6 Created 179 markers in 4 files
11:16:14 Timer event: 19385ms: Create markers: com.dcx.ivkmds.fwk.test.ass (Finished creating markers for com.dcx.ivkmds.fwk.test.ass)
11:16:14 Created 572 markers in 24 files
11:16:20 Timer event: 24699ms: Create markers: com.dcx.ivkmds.common.businessobjects.persistent (Finished creating markers for com.dcx.ivkmds.common.businessobjects.persistent)
11:16:20 Created 996 markers in 326 files



And here the console timings:

Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=3ms
> weaving classes=0ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 0ms
> weaving normal itds=0ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 0ms
shadowWeaving = 0ms
postWeave = 0ms
Total =0ms

Kinded pointcut matchInternal(): 0ms
Kinded pointcut match calls: 0
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 0ms

Timing: time spent in pipeline weaving: 17ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=2ms
> verifying consistency=1ms
> weaving aspects=13ms
> weaving classes=172ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 2ms
> weaving normal itds=8ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 1ms
typeWeaving = 11ms
decaWeaving = 0ms
fastShadowMatching = 1ms
shadowMatching = 54ms
shadowWeaving = 14ms
postWeave = 2ms
Total =86ms

Kinded pointcut matchInternal(): 30ms
Kinded pointcut match calls: 2781
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 0ms

Timing: time spent in pipeline weaving: 546ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=15ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 0ms
> weaving normal itds=0ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 7ms
shadowWeaving = 0ms
postWeave = 0ms
Total =7ms

Kinded pointcut matchInternal(): 3ms
Kinded pointcut match calls: 554
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 0ms

Timing: time spent in pipeline weaving: 33ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=1ms
> verifying consistency=0ms
> weaving aspects=52ms
> weaving classes=511ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 28ms
> weaving normal itds=25ms
> weaving structural itds=3ms

Breakdown of time spent in type weaver instances:
class prep = 3ms
typeWeaving = 24ms
decaWeaving = 0ms
fastShadowMatching = 2ms
shadowMatching = 285ms
shadowWeaving = 56ms
postWeave = 7ms
Total =380ms

Kinded pointcut matchInternal(): 131ms
Kinded pointcut match calls: 3098
Kinded pointcut xlinttime: 3ms
ThisTarget pointcut matchInternal: 37ms

Timing: time spent in pipeline weaving: 1339ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=4ms
> verifying consistency=3ms
> weaving aspects=65ms
> weaving classes=17818ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 88ms
> weaving normal itds=57ms
> weaving structural itds=14ms

Breakdown of time spent in type weaver instances:
class prep = 14ms
typeWeaving = 36ms
decaWeaving = 3ms
fastShadowMatching = 10ms
shadowMatching = 16826ms
shadowWeaving = 95ms
postWeave = 81ms
Total =17068ms

Kinded pointcut matchInternal(): 2371ms
Kinded pointcut match calls: 150144
Kinded pointcut xlinttime: 571ms
ThisTarget pointcut matchInternal: 10277ms

Timing: time spent in pipeline weaving: 24214ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=2ms
> verifying consistency=2ms
> weaving aspects=3ms
> weaving classes=3988ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 96ms
> weaving normal itds=203ms
> weaving structural itds=14ms

Breakdown of time spent in type weaver instances:
class prep = 8ms
typeWeaving = 1301ms
decaWeaving = 2ms
fastShadowMatching = 7ms
shadowMatching = 837ms
shadowWeaving = 666ms
postWeave = 28ms
Total =2852ms

Kinded pointcut matchInternal(): 463ms
Kinded pointcut match calls: 54917
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 15ms

Timing: time spent in pipeline weaving: 7745ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=1ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=367ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 1ms
> weaving normal itds=28ms
> weaving structural itds=1ms

Breakdown of time spent in type weaver instances:
class prep = 1ms
typeWeaving = 98ms
decaWeaving = 0ms
fastShadowMatching = 4ms
shadowMatching = 80ms
shadowWeaving = 45ms
postWeave = 2ms
Total =232ms

Kinded pointcut matchInternal(): 47ms
Kinded pointcut match calls: 4680
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 1ms

Timing: time spent in pipeline weaving: 605ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=2ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=171ms
> weaving classes=3649ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 403ms
> weaving normal itds=54ms
> weaving structural itds=1ms

Breakdown of time spent in type weaver instances:
class prep = 4ms
typeWeaving = 43ms
decaWeaving = 0ms
fastShadowMatching = 2ms
shadowMatching = 2984ms
shadowWeaving = 104ms
postWeave = 9ms
Total =3150ms

Kinded pointcut matchInternal(): 520ms
Kinded pointcut match calls: 23907
Kinded pointcut xlinttime: 114ms
ThisTarget pointcut matchInternal: 1142ms

Timing: time spent in pipeline weaving: 4897ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=1ms
> verifying consistency=0ms
> weaving aspects=56ms
> weaving classes=49172ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 367ms
> weaving normal itds=59ms
> weaving structural itds=6ms

Breakdown of time spent in type weaver instances:
class prep = 5ms
typeWeaving = 0ms
decaWeaving = 1ms
fastShadowMatching = 5ms
shadowMatching = 44983ms
shadowWeaving = 2494ms
postWeave = 31ms
Total =47524ms

Kinded pointcut matchInternal(): 32737ms
Kinded pointcut match calls: 183193
Kinded pointcut xlinttime: 29964ms
ThisTarget pointcut matchInternal: 8316ms

Timing: time spent in pipeline weaving: 52142ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=1ms
> verifying consistency=0ms
> weaving aspects=125ms
> weaving classes=17332ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 37ms
> weaving normal itds=21ms
> weaving structural itds=3ms

Breakdown of time spent in type weaver instances:
class prep = 1ms
typeWeaving = 33ms
decaWeaving = 0ms
fastShadowMatching = 1ms
shadowMatching = 16995ms
shadowWeaving = 153ms
postWeave = 10ms
Total =17196ms

Kinded pointcut matchInternal(): 14924ms
Kinded pointcut match calls: 33642
Kinded pointcut xlinttime: 14290ms
ThisTarget pointcut matchInternal: 1469ms

Timing: time spent in pipeline weaving: 18458ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=1ms
> reweavable processing=5ms
> verifying consistency=1ms
> weaving aspects=61ms
> weaving classes=99206ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 120ms
> weaving normal itds=88ms
> weaving structural itds=7ms

Breakdown of time spent in type weaver instances:
class prep = 6ms
typeWeaving = 1ms
decaWeaving = 3ms
fastShadowMatching = 7ms
shadowMatching = 98519ms
shadowWeaving = 23ms
postWeave = 53ms
Total =98614ms

Kinded pointcut matchInternal(): 86801ms
Kinded pointcut match calls: 161602
Kinded pointcut xlinttime: 84133ms
ThisTarget pointcut matchInternal: 8420ms

Timing: time spent in pipeline weaving: 103611ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=1371ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 17ms
> weaving normal itds=6ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 1164ms
shadowWeaving = 149ms
postWeave = 0ms
Total =1315ms

Kinded pointcut matchInternal(): 748ms
Kinded pointcut match calls: 4975
Kinded pointcut xlinttime: 441ms
ThisTarget pointcut matchInternal: 305ms

Timing: time spent in pipeline weaving: 1395ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=151ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 3ms
> weaving normal itds=6ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 3ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 122ms
shadowWeaving = 6ms
postWeave = 0ms
Total =134ms

Kinded pointcut matchInternal(): 29ms
Kinded pointcut match calls: 2128
Kinded pointcut xlinttime: 8ms
ThisTarget pointcut matchInternal: 62ms

Timing: time spent in pipeline weaving: 262ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=2ms
> weaving classes=8ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 0ms
> weaving normal itds=0ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 1ms
shadowWeaving = 0ms
postWeave = 0ms
Total =3ms

Kinded pointcut matchInternal(): 0ms
Kinded pointcut match calls: 65
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 0ms

Timing: time spent in pipeline weaving: 73ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=531ms
> weaving classes=3206ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 58ms
> weaving normal itds=13ms
> weaving structural itds=2ms

Breakdown of time spent in type weaver instances:
class prep = 4ms
typeWeaving = 8ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 3471ms
shadowWeaving = 116ms
postWeave = 3ms
Total =3605ms

Kinded pointcut matchInternal(): 2970ms
Kinded pointcut match calls: 25310
Kinded pointcut xlinttime: 2623ms
ThisTarget pointcut matchInternal: 190ms

Timing: time spent in pipeline weaving: 4143ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=279ms
> weaving classes=32017ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 28ms
> weaving normal itds=12ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 30701ms
shadowWeaving = 1380ms
postWeave = 3ms
Total =32087ms

Kinded pointcut matchInternal(): 26972ms
Kinded pointcut match calls: 201545
Kinded pointcut xlinttime: 24339ms
ThisTarget pointcut matchInternal: 2234ms

Timing: time spent in pipeline weaving: 32857ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=516ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 4ms
> weaving normal itds=0ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 425ms
shadowWeaving = 72ms
postWeave = 1ms
Total =500ms

Kinded pointcut matchInternal(): 307ms
Kinded pointcut match calls: 12801
Kinded pointcut xlinttime: 95ms
ThisTarget pointcut matchInternal: 52ms

Timing: time spent in pipeline weaving: 549ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=1ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 0ms
> weaving normal itds=0ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 0ms
shadowWeaving = 0ms
postWeave = 0ms
Total =0ms

Kinded pointcut matchInternal(): 0ms
Kinded pointcut match calls: 0
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 0ms

Timing: time spent in pipeline weaving: 19ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=373ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 13ms
> weaving normal itds=2ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 280ms
shadowWeaving = 59ms
postWeave = 1ms
Total =342ms

Kinded pointcut matchInternal(): 183ms
Kinded pointcut match calls: 11484
Kinded pointcut xlinttime: 88ms
ThisTarget pointcut matchInternal: 24ms

Timing: time spent in pipeline weaving: 582ms
Timing ------------

!ENTRY org.tigris.subversion.subclipse.core 4 0 2009-10-10 11:14:02.468
!MESSAGE org.tigris.subversion.javahl.ClientException: Working copy not locked;
this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

!STACK 1
org.tigris.subversion.subclipse.core.SVNException: org.tigris.subversion.javahl.
ClientException: Working copy not locked; this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.subclipse.core.SVNException.wrapException(SVNEx
ception.java:85)
        at org.tigris.subversion.subclipse.core.status.StatusCacheManager.refres
hStatus(StatusCacheManager.java:289)
        at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificat
ionManager.refreshStatusInfitite(FileModificationManager.java:149)
        at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificat
ionManager.resourceChanged(FileModificationManager.java:133)
        at org.eclipse.core.internal.events.NotificationManager$2.run(Notificati
onManager.java:291)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.core.internal.events.NotificationManager.notify(Notificat
ionManager.java:285)
        at org.eclipse.core.internal.events.NotificationManager.broadcastChanges
(NotificationManager.java:149)
        at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Wor
kspace.java:313)
        at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.
java:1022)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1809
)
        at org.eclipse.core.internal.events.NotificationManager$NotifyJob.run(No
tificationManager.java:40)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.tigris.subversion.subclipse.core.SVNException: org.tigris.subvers
ion.javahl.ClientException: Working copy not locked; this is probably a bug, ple
ase report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.subclipse.core.SVNException.wrapException(SVNEx
ception.java:75)
        at org.tigris.subversion.subclipse.core.status.RecursiveStatusUpdateStra
tegy.statusesToUpdate(RecursiveStatusUpdateStrategy.java:64)
        at org.tigris.subversion.subclipse.core.status.StatusCacheManager.refres
hStatus(StatusCacheManager.java:264)
        ... 11 more
Caused by: org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris
.subversion.javahl.ClientException: Working copy not locked; this is probably a
bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:495)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:467)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:460)
        at org.tigris.subversion.subclipse.core.status.RecursiveStatusUpdateStra
tegy.statusesToUpdate(RecursiveStatusUpdateStrategy.java:62)
        ... 12 more
Caused by: org.tigris.subversion.javahl.ClientException: Working copy not locked
; this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.javahl.SVNClient.status(Native Method)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:481)
        ... 15 more
!SUBENTRY 1 org.tigris.subversion.subclipse.core 4 -6 2009-10-10 11:14:02.480
!MESSAGE org.tigris.subversion.javahl.ClientException: Working copy not locked;
this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

!STACK 1
org.tigris.subversion.subclipse.core.SVNException: org.tigris.subversion.javahl.
ClientException: Working copy not locked; this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.subclipse.core.SVNException.wrapException(SVNEx
ception.java:75)
        at org.tigris.subversion.subclipse.core.status.RecursiveStatusUpdateStra
tegy.statusesToUpdate(RecursiveStatusUpdateStrategy.java:64)
        at org.tigris.subversion.subclipse.core.status.StatusCacheManager.refres
hStatus(StatusCacheManager.java:264)
        at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificat
ionManager.refreshStatusInfitite(FileModificationManager.java:149)
        at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificat
ionManager.resourceChanged(FileModificationManager.java:133)
        at org.eclipse.core.internal.events.NotificationManager$2.run(Notificati
onManager.java:291)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.core.internal.events.NotificationManager.notify(Notificat
ionManager.java:285)
        at org.eclipse.core.internal.events.NotificationManager.broadcastChanges
(NotificationManager.java:149)
        at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Wor
kspace.java:313)
        at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.
java:1022)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1809
)
        at org.eclipse.core.internal.events.NotificationManager$NotifyJob.run(No
tificationManager.java:40)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris
.subversion.javahl.ClientException: Working copy not locked; this is probably a
bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:495)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:467)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:460)
        at org.tigris.subversion.subclipse.core.status.RecursiveStatusUpdateStra
tegy.statusesToUpdate(RecursiveStatusUpdateStrategy.java:62)
        ... 12 more
Caused by: org.tigris.subversion.javahl.ClientException: Working copy not locked
; this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.javahl.SVNClient.status(Native Method)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:481)
        ... 15 more
!SUBENTRY 2 org.tigris.subversion.subclipse.core 4 -6 2009-10-10 11:14:02.495
!MESSAGE org.tigris.subversion.javahl.ClientException: Working copy not locked;
this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

!STACK 0
org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris.subversion
.javahl.ClientException: Working copy not locked; this is probably a bug, please
 report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:495)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:467)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:460)
        at org.tigris.subversion.subclipse.core.status.RecursiveStatusUpdateStra
tegy.statusesToUpdate(RecursiveStatusUpdateStrategy.java:62)
        at org.tigris.subversion.subclipse.core.status.StatusCacheManager.refres
hStatus(StatusCacheManager.java:264)
        at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificat
ionManager.refreshStatusInfitite(FileModificationManager.java:149)
        at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificat
ionManager.resourceChanged(FileModificationManager.java:133)
        at org.eclipse.core.internal.events.NotificationManager$2.run(Notificati
onManager.java:291)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.core.internal.events.NotificationManager.notify(Notificat
ionManager.java:285)
        at org.eclipse.core.internal.events.NotificationManager.broadcastChanges
(NotificationManager.java:149)
        at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Wor
kspace.java:313)
        at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.
java:1022)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1809
)
        at org.eclipse.core.internal.events.NotificationManager$NotifyJob.run(No
tificationManager.java:40)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.tigris.subversion.javahl.ClientException: Working copy not locked
; this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.javahl.SVNClient.status(Native Method)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:481)
        ... 15 more
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=2ms
> verifying consistency=0ms
> weaving aspects=1ms
> weaving classes=8499ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 115ms
> weaving normal itds=32ms
> weaving structural itds=2ms

Breakdown of time spent in type weaver instances:
class prep = 1ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 1ms
shadowMatching = 6465ms
shadowWeaving = 1518ms
postWeave = 13ms
Total =8002ms

Kinded pointcut matchInternal(): 4587ms
Kinded pointcut match calls: 242696
Kinded pointcut xlinttime: 1729ms
ThisTarget pointcut matchInternal: 799ms

Timing: time spent in pipeline weaving: 9778ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=1ms
> weaving classes=3496ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 32ms
> weaving normal itds=2ms
> weaving structural itds=4ms

Breakdown of time spent in type weaver instances:
class prep = 1ms
typeWeaving = 0ms
decaWeaving = 1ms
fastShadowMatching = 0ms
shadowMatching = 3073ms
shadowWeaving = 292ms
postWeave = 3ms
Total =3372ms

Kinded pointcut matchInternal(): 2398ms
Kinded pointcut match calls: 72263
Kinded pointcut xlinttime: 509ms
ThisTarget pointcut matchInternal: 225ms

Timing: time spent in pipeline weaving: 3774ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=0ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 0ms
> weaving normal itds=0ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 0ms
shadowWeaving = 0ms
postWeave = 0ms
Total =0ms

Kinded pointcut matchInternal(): 0ms
Kinded pointcut match calls: 0
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 0ms

Timing: time spent in pipeline weaving: 0ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=3ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 0ms
> weaving normal itds=1ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 1ms
shadowWeaving = 0ms
postWeave = 0ms
Total =1ms

Kinded pointcut matchInternal(): 1ms
Kinded pointcut match calls: 30
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 0ms

Timing: time spent in pipeline weaving: 11ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=70ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 0ms
> weaving normal itds=1ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 55ms
shadowWeaving = 10ms
postWeave = 0ms
Total =66ms

Kinded pointcut matchInternal(): 45ms
Kinded pointcut match calls: 1354
Kinded pointcut xlinttime: 20ms
ThisTarget pointcut matchInternal: 4ms

Timing: time spent in pipeline weaving: 97ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=107ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 0ms
> weaving normal itds=1ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 87ms
shadowWeaving = 7ms
postWeave = 0ms
Total =95ms

Kinded pointcut matchInternal(): 54ms
Kinded pointcut match calls: 1961
Kinded pointcut xlinttime: 28ms
ThisTarget pointcut matchInternal: 21ms

Timing: time spent in pipeline weaving: 117ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=227ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 14ms
> weaving normal itds=3ms
> weaving structural itds=2ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 150ms
shadowWeaving = 18ms
postWeave = 1ms
Total =171ms

Kinded pointcut matchInternal(): 113ms
Kinded pointcut match calls: 4628
Kinded pointcut xlinttime: 60ms
ThisTarget pointcut matchInternal: 13ms

Timing: time spent in pipeline weaving: 536ms
Timing ------------



_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: Overall problem with AJDT performance

by Andy Clement :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Thomas,

It isn't clear to me which zip you used, did you use the 2nd one or
just the 3rd one?  I need to know which was used to decide if the
enhancement needs more work.  I presume you used the 3rd one.

You also don't appear to have turned off the xlint ?  In one project
below 86seconds is spent matching, 84 of which is in the xlint
processing.  Can you try with the xlint turned off?

So your full build time is now down at 12minutes?

Andy

2009/10/10 Thomas Hofmann <email@...>:

> Still too long but already much better:
>
> 10:55:30 Removed problems and tasks for project com.dcx.ivkmds.fwk.test.ass
> 10:55:30 Builder: Tidied output folder(s), removed class files and derived resources
> 10:55:31 Timer event: 5ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
> 10:55:43 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
> 10:55:43 ===========================================================================================
> 10:55:43 Build kind = FULLBUILD
> 10:55:43 Project=com.dcx.ivkmds.fwk.test.ass, kind of build requested=Full AspectJ compilation
> 10:55:43 Timer event: 0ms: Flush included source file cache
> 10:55:43 Timer event: 0ms: Check delta
> 10:55:43 Builder: Tidied output folder(s), removed class files and derived resources
> 10:55:43 Timer event: 212ms: Pre compile
> 10:55:43 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass has been read by compiler.  Resetting.
> 10:55:43      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
> 10:55:43 Resetting list of modified source files.  Was null
> 10:55:43 Preparing for build: not going to be incremental because no successful previous full build
> 10:55:44 Timer event: 1027ms: Time to first compiled message
> 10:55:45 Timer event: 1309ms: Time to first woven message
> 10:56:14 AspectJ reports build successful, build was: FULL
> 10:56:14 AJDE Callback: finish. Was full build: true
> 10:56:14 Timer event: 30751ms: Total time spent in AJDE
> 10:56:14 Timer event: 0ms: Refresh after build
> 10:56:14 Types affected during build = 24
> 10:56:14 Timer event: 30996ms: Total time spent in AJBuilder.build()
> 10:56:14 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.ass
> 10:56:14 Timer event: 1ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
> 10:56:20 Timer event: 6283ms: Create markers: com.dcx.ivkmds.fwk.test.ass (Finished creating markers for com.dcx.ivkmds.fwk.test.ass)
> 10:56:20 Created 572 markers in 24 files
>
>
> Timing ------------
> Entire time spent in the weaver instance created for this build:
>> performing model repairs=0ms
>> reweavable processing=0ms
>> verifying consistency=0ms
>> weaving aspects=260ms
>> weaving classes=27890ms
>  for those two weave steps, time spent pre-post calling the individual type wea
> ver instance: 37ms
>> weaving normal itds=17ms
>> weaving structural itds=0ms
>
> Breakdown of time spent in type weaver instances:
> class prep = 0ms
> typeWeaving = 0ms
> decaWeaving = 0ms
> fastShadowMatching = 0ms
> shadowMatching = 26470ms
> shadowWeaving = 1412ms
> postWeave = 3ms
> Total =27888ms
>
> Kinded pointcut matchInternal(): 22891ms
> Kinded pointcut match calls: 204036
> Kinded pointcut xlinttime: 20341ms
> ThisTarget pointcut matchInternal: 2166ms
>
> Timing: time spent in pipeline weaving: 28632ms
> Timing ------------
>
>
>
>
>
> Wow, I'm amazed. A second run on a different project (this was > 12 minutes but with a much larger heap when all was rebuild):
>
> 10:58:43 Removed problems and tasks for project com.dcx.ivkmds.application.ass
> 10:58:45 Builder: Tidied output folder(s), removed class files and derived resources
> 10:58:52 Compiler configuration for project com.dcx.ivkmds.application.ass doesn't know previous state, so assuming EVERYTHING has changed.
> 10:58:52 ===========================================================================================
> 10:58:52 Build kind = FULLBUILD
> 10:58:52 Project=com.dcx.ivkmds.application.ass, kind of build requested=Full AspectJ compilation
> 10:58:52 Timer event: 0ms: Flush included source file cache
> 10:58:52 Timer event: 0ms: Check delta
> 10:58:52 Builder: Tidied output folder(s), removed class files and derived resources
> 10:58:53 Timer event: 1452ms: Pre compile
> 10:58:54 Compiler configuration for project com.dcx.ivkmds.application.ass has been read by compiler.  Resetting.
> 10:58:54      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
> 10:58:54 Resetting list of modified source files.  Was null
> 10:58:54 Preparing for build: not going to be incremental because no successful previous full build
> 10:58:56 Timer event: 2834ms: Time to first compiled message
> 10:58:56 Timer event: 2866ms: Time to first woven message
> 10:59:44 AspectJ reports build successful, build was: FULL
> 10:59:45 AJDE Callback: finish. Was full build: true
> 10:59:45 Timer event: 51440ms: Total time spent in AJDE
> 10:59:45 Timer event: 0ms: Refresh after build
> 10:59:45 Types affected during build = 292
> 10:59:45 Timer event: 1ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.application.ass
> 10:59:45 Timer event: 52941ms: Total time spent in AJBuilder.build()
> 10:59:45 Timer event: 2ms: Delete markers: com.dcx.ivkmds.application.ass (Finished deleting markers for com.dcx.ivkmds.application.ass)
> 10:59:46 Timer event: 601ms: Create markers: com.dcx.ivkmds.application.ass (Finished creating markers for com.dcx.ivkmds.application.ass)
> 10:59:46 Created 2615 markers in 292 files
> 10:59:46 Timer event: 31ms: Delete markers: com.dcx.ivkmds.application.ass (Finished deleting markers for com.dcx.ivkmds.application.ass)
>
>
> Timing ------------
> Entire time spent in the weaver instance created for this build:
>> performing model repairs=1ms
>> reweavable processing=2ms
>> verifying consistency=0ms
>> weaving aspects=41ms
>> weaving classes=40926ms
>  for those two weave steps, time spent pre-post calling the individual type wea
> ver instance: 408ms
>> weaving normal itds=46ms
>> weaving structural itds=1ms
>
> Breakdown of time spent in type weaver instances:
> class prep = 6ms
> typeWeaving = 0ms
> decaWeaving = 1ms
> fastShadowMatching = 5ms
> shadowMatching = 37440ms
> shadowWeaving = 2172ms
> postWeave = 39ms
> Total =39667ms
>
> Kinded pointcut matchInternal(): 26404ms
> Kinded pointcut match calls: 182508
> Kinded pointcut xlinttime: 23990ms
> ThisTarget pointcut matchInternal: 7795ms
>
> Timing: time spent in pipeline weaving: 44233ms
> Timing ------------
> Unable to load cache.
>
>
>
>
>
>
>
> -----Original Message-----
> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
> Sent: Samstag, 10. Oktober 2009 03:07
> To: aspectj-users@...
> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>
> One more thing...  I had an idea that it could be some of the
> assumptions in our pointcut rewriter don't suit your scenario.  All
> pointcuts are processed such that the cheaper tests are run first.  We
> currently consider 'call' cheaper than 'this' - but it could be for
> certain combinations of wildcarding in the call() that this() could be
> evaluated faster (this may even be the case in general, but I haven't
> thought that full through yet).  Anyway, I've uploaded one final zip
> at:
>
> http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ3.zip
>
> In this zip I have reversed the costs and this() will be evaluated
> before call().  If this makes a positive impact for you we can looking
> adding some more smarts in the pointcut rewriter.
>
> Andy.
>
> 2009/10/9 Andy Clement <andrew.clement@...>:
>> new zip (has a 2 on the end of the name):
>>
>> http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ2.zip
>>
>> this will produce 4 new numbers.
>> The time spent matching kinded pointcuts (which include call).
>> The number of times the kinded pointcut matcher is called.
>> Of that time, the amount actually spent computing the xlint.
>> The time spent matching this/target pointcuts.
>>
>> Kinded pointcut matchInternal(): 9438ms
>> Kinded pointcut match calls: 517465
>> Kinded pointcut xlinttime: 1463ms
>> ThisTarget pointcut matchInternal: 9ms
>>
>> And
>>
>> 2009/10/9 Andy Clement <andrew.clement@...>:
>>> I don't think you need to collect any more necessarily - we can spot
>>> the culprit in that trace :)
>>>
>>>> Breakdown of time spent in type weaver instances:
>>>> class prep = 0ms
>>>> typeWeaving = 0ms
>>>> decaWeaving = 0ms
>>>> fastShadowMatching = 0ms
>>>> shadowMatching = 122806ms
>>>> shadowWeaving = 0ms
>>>> postWeave = 3ms
>>>> Total =122811ms
>>>
>>> As we suspected, it is matching.  Surprised the weaving time is 0
>>> though.  And absolutely no fast matching.  That is where including
>>> within() with any execution()s would help (if you can).
>>>
>>> Next breakdown will be into where the shadow matching time is spent.
>>> I imagine it is millions of potential call joinpoints.  I'll be in
>>> touch with another timer zip shortly.
>>>
>>> To turn off the xlint go to project properties, AspectJ compiler, and
>>> turn off 'Unmatched super type in call pointcut designator'
>>>
>>> Andy
>>>
>>> 2009/10/9 Thomas Hofmann <email@...>:
>>>> Hi Andy,
>>>>
>>>> thanks for the zips. Here is a first result:
>>>>
>>>> 21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
>>>> 21:59:2 ===========================================================================================
>>>> 21:59:2 Build kind = FULLBUILD
>>>> 21:59:2 Project=com.dcx.ivkmds.fwk.test.ass, kind of build requested=Full AspectJ compilation
>>>> 21:59:2 Timer event: 0ms: Flush included source file cache
>>>> 21:59:2 Timer event: 0ms: Check delta
>>>> 21:59:2 Builder: Tidied output folder(s), removed class files and derived resources
>>>> 21:59:2 Timer event: 526ms: Pre compile
>>>> 21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass has been read by compiler.  Resetting.
>>>> 21:59:2      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
>>>>
>>>> 21:59:2 Resetting list of modified source files.  Was null
>>>> 21:59:2 Preparing for build: not going to be incremental because no successful previous full build
>>>> 21:59:4 Timer event: 1141ms: Time to first compiled message
>>>> 21:59:4 Timer event: 1974ms: Time to first woven message
>>>> 22:1:9 AspectJ reports build successful, build was: FULL
>>>> 22:1:9 AJDE Callback: finish. Was full build: true
>>>> 22:1:9 Timer event: 126764ms: Total time spent in AJDE
>>>> 22:1:9 Timer event: 0ms: Refresh after build
>>>> 22:1:9 Types affected during build = 24
>>>> 22:1:9 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.ass
>>>> 22:1:9 Timer event: 127389ms: Total time spent in AJBuilder.build()
>>>> 22:1:9 Timer event: 16ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
>>>> 22:1:9 Timer event: 20ms: Delete markers: com.dcx.ivkmds._00_fwktest.ass (Finished deleting markers for com.dcx.ivkmds._00_fwktest.ass)
>>>> 22:1:13 Timer event: 3915ms: Create markers: com.dcx.ivkmds._00_fwktest.ass (Finished creating markers for com.dcx.ivkmds._00_fwktest.ass)
>>>> 22:1:13 Created 179 markers in 4 files
>>>> 22:1:16 Timer event: 12ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
>>>> 22:1:16 Timer event: 175ms: Delete markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished deleting markers for com.dcx.ivkmds.common.businessobjects.fwktest)
>>>> 22:1:19 Timer event: 2941ms: Create markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished creating markers for com.dcx.ivkmds.common.businessobjects.fwktest)
>>>> 22:1:19 Created 111 markers in 32 files
>>>> 22:1:24 Timer event: 7906ms: Create markers: com.dcx.ivkmds.fwk.test.ass (Finished creating markers for com.dcx.ivkmds.fwk.test.ass)
>>>> 22:1:24 Created 572 markers in 24 files
>>>>
>>>>
>>>> Timing ------------
>>>> Entire time spent in the weaver instance created for this build:
>>>>> performing model repairs=0ms
>>>>> reweavable processing=0ms
>>>>> verifying consistency=1ms
>>>>> weaving aspects=828ms
>>>>> weaving classes=123344ms
>>>>  for those two weave steps, time spent pre-post calling the individual type wea
>>>> ver instance: 37ms
>>>>> weaving normal itds=24ms
>>>>> weaving structural itds=1ms
>>>>
>>>> Breakdown of time spent in type weaver instances:
>>>> class prep = 0ms
>>>> typeWeaving = 0ms
>>>> decaWeaving = 0ms
>>>> fastShadowMatching = 0ms
>>>> shadowMatching = 122806ms
>>>> shadowWeaving = 0ms
>>>> postWeave = 3ms
>>>> Total =122811ms
>>>>
>>>> Timing: time spent in pipeline weaving: 124700ms
>>>> Timing ------------
>>>>
>>>>
>>>> More later...
>>>>
>>>>
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
>>>> Sent: Freitag, 9. Oktober 2009 17:57
>>>> To: aspectj-users@...
>>>> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>>>>
>>>> Hi Thomas,
>>>>
>>>> I've put a zip up on our download site containing two jars that
>>>> produce timing information.  The zip is here:
>>>>
>>>> http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ.zip
>>>>
>>>> It contains jars ajde.jar and aspectjweaver.jar
>>>>
>>>> These are replacements for the jars in your org.aspectj.ajde and
>>>> org.aspectj.weaver plugins (in your eclipse plugins folder).  So
>>>> backup the jars you have and replace them with these.
>>>>
>>>> Now run your eclipse with the console view (-consolelog).
>>>>
>>>> When you build a project you should then see per build output like
>>>> this (I built a 1000 file project here as an example:)
>>>>
>>>> Timing ------------
>>>> Entire time spent in the weaver instance created for this build:
>>>>> performing model repairs=4ms
>>>>> reweavable processing=10ms
>>>>> verifying consistency=6ms
>>>>> weaving aspects=454ms
>>>>> weaving classes=27433ms
>>>>  for those two weave steps, time spent pre-post calling the
>>>> individual type weaver instance: 916ms
>>>>> weaving normal itds=45ms
>>>>> weaving structural itds=56ms
>>>>
>>>> Breakdown of time spent in type weaver instances:
>>>> class prep = 154ms
>>>> typeWeaving = 32ms
>>>> decaWeaving = 19ms
>>>> fastShadowMatching = 56ms
>>>> shadowMatching = 19303ms
>>>> shadowWeaving = 0ms
>>>> postWeave = 789ms
>>>> Total =20356ms
>>>>
>>>> Timing: time spent in pipeline weaving: 31963ms
>>>> Timing ------------
>>>>
>>>> That initial information will enable us to go into the right area
>>>> next.  Feel free to start emailing me directly rather than using the
>>>> list, or raise a bug and we can communicate through that.  Oh, I would
>>>> turn off build automatically and just build a single project so we
>>>> know what we are dealing with.  I guess it doesn't matter which, just
>>>> one you think is taking too long (I'd saying anything over a 1 or 2
>>>> minutes is too long).
>>>>
>>>> Your use of 'call()' is interesting and the fact that you get that
>>>> Xlint out.  But let's start with this.  I guess we are currently going
>>>> to suspect your shadowMatching time will be large.  Then we can look
>>>> at which parts of shadowmatching are taking a long time.  The use of
>>>> within() rather than relying on the declaring type in an execution()
>>>> pointcut to limit what is woven would enable the fastMatching time
>>>> above to increase and the shadowMatching time to decrease because
>>>> within() supports fast match and execution does not.  within() and
>>>> call() is not such a useful combination.  I might rework these timers
>>>> into something more permanent in the codebase.
>>>>
>>>> Andy
>>>>
>>>> 2009/10/9 Thomas Hofmann <email@...>:
>>>>> Hi Andy,
>>>>>
>>>>> yes we have Ant driven builds. One for the Rich Client Application (based on Eclipse RCP) and one for the J2EE server part that produces an EAR file.
>>>>> The former runs about 12-15 minutes but it does not contain the projects with .ass. in the project / package names. The project that took more than 12 minutes to build was one of these server projects. The other one was a test project which also isn't part of the client build. The creation of the EAR file uses Ant tasks that take what is already compiled in the eclipse workspace so I have no other numbers for that part.
>>>>>
>>>>> I'm not sure if my pointcuts are well written. My experience with AspectJ is not that big. Anyway, I can say that the aspects that are woven into the application.ass project (the one that takes more than 12 minutes) don't use within().I'm not quite sure what would be the benefit of using within. Almost all classes in the project need to have the advice applied.
>>>>>
>>>>> I'm using mostly execution and call together with matching based on types.
>>>>>
>>>>> Let me give you some more details for the most problematic project:
>>>>> com.dcx.ivkmds.application.ass
>>>>>
>>>>> It contains repositories that handle persistence using Hibernate internally. There is a Java interface and an implementation based on Hibernate for each repository. In addition there are some utility classes but only a few.
>>>>>
>>>>> I don't see how within() would make much difference in terms of types affected (but of course I would like to learn if I'm wrong).
>>>>>
>>>>> The aspects that are applied reside in another project: com.dcx.ivkmds.fwk.ass. This a part of our "framework". The aspects in this project apply to other projects that make use of the framework, not just to com.dcx.ivkmds.application.ass.
>>>>>
>>>>> com.dcx.ivkmds.fwk.ass contains the following aspects:
>>>>>
>>>>> AssComponentAspect:
>>>>> Contains ITDs for all classes that implement the AssComponent interface.
>>>>>
>>>>> BaseSessionLifecycleControl:
>>>>> Is an abstract aspect that contains an around advice to open and close the Hibernate session. It contains an abstract pointcut that subclasses of the aspect may you to specify the boundaries for Hibernate sessions.
>>>>>
>>>>> SessionLifecycleControl:
>>>>> A concrete subclass of BaseSessionLifecycleControl. It contains the pointcut that determines where the advice is to be applied.
>>>>>
>>>>> MeasuringPoint:
>>>>> Contains pointcuts and advice for performance logging.
>>>>>
>>>>> DatabaseConnectionCustomization:
>>>>> Contains two after advices and one before advice to make 3rd party JDBC driver specific calls on the JDBC connection when a new connection is retrieved.
>>>>>
>>>>> DatabaseErrorTransformation:
>>>>> Uses an around advice to add special error handling for exceptions from the database. The are inspected and transformed to application specific exception types.
>>>>>
>>>>>
>>>>> Only the last three aspects apply to the classes in com.dcx.ivkmds.application.ass.
>>>>>
>>>>> Will the other three aspects visible on the aspect path of com.dcx.ivkmds.application.ass have a great negative performance impact? Would this require within()?
>>>>>
>>>>> What I don't like about within() is that it kind of turns dependencies around. If I need to specify within() in the aspects that are part of the framework I need to know what other parts of the framework make use of them.
>>>>> I even have to make the clients of the framework visible to the framework. This would result in cycles I believe.
>>>>>
>>>>> I would be glad to try out a debug build that would provide more insight into where the time is spent.
>>>>> Regarding yourkit I can only say that I don't have a license for it. I could probably use the 15 day evalutation version but would need to get some instructions on how to configure it to filter the classes your are interessted in.
>>>>>
>>>>> My eclipse wasn't running short of memory. Heap space was 1200 MB. During the build 600-900 MB were used (which is too much - but this is a different issue).
>>>>>
>>>>> I can give you more details on the aspects but I don't want to spam the mailing list. So please tell me if you think this is the right place to discuss these issues. I could also open a bug in bugzilla or we could use direct email or skype for example to exchange further details.
>>>>> Posting lots of source code to the mailing list or bugzilla is not what I want to do. I would prefer direct (not public) communication for this.
>>>>>
>>>>> Do you see any obvious problems with the setup I described above?
>>>>>
>>>>> Regards,
>>>>>
>>>>> Thomas
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
>>>>> Sent: Donnerstag, 8. Oktober 2009 17:37
>>>>> To: aspectj-users@...
>>>>> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>>>>>
>>>>> Hi Thomas,
>>>>>
>>>>> Those build times do look unreasonable.  Do you do product builds
>>>>> outside of eclipse (perhaps Ant driven) - do these builds exhibit the
>>>>> same issue?
>>>>>
>>>>> I've never seen a project build take 12minutes so clearly something
>>>>> unusual is happening.  I presume all your aspects are using well
>>>>> written pointcuts that involve scoping within() clauses and don't just
>>>>> attempt matching with just kinded pointcuts (like execution).  To see
>>>>> all the affected joinpoints in one place, you can turn on the
>>>>> weaveinfo info messages for the project.  Are you using ITDs?
>>>>>
>>>>> I think we need more visibility into the build time - I could do you a
>>>>> debug build of the plugins that will include extra stats about where
>>>>> the time goes.  (Or even better you could do a yourkit profile and
>>>>> send it to me? That would make it obvious).
>>>>>
>>>>> Oh, and is your eclipse running tight on memory?  I wondered if you
>>>>> were running near the limit and it was thrashing.
>>>>>
>>>>> Andy
>>>>>
>>>>>
>>>>> 2009/10/8 Thomas Hofmann <email@...>:
>>>>>> Hi Andy, Andrew J
>>>>>>
>>>>>>
>>>>>>
>>>>>> I'm still having problems with the performance of AJDT and AspectJ in my
>>>>>> workspace.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Let me start by describing my environment:
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thinkpad T61p
>>>>>>
>>>>>>
>>>>>>
>>>>>> Eclipse Java EE IDE for Web Developers.
>>>>>>
>>>>>> Version: 1.2.0.20090621-0820
>>>>>>
>>>>>> Build id: 20090621-0832
>>>>>>
>>>>>> based on Eclipse 3.5.0
>>>>>>
>>>>>>
>>>>>>
>>>>>> Version: 2.0.1.e35x-20091001-1600
>>>>>>
>>>>>> AspectJ version: 1.6.6.20090930185500
>>>>>>
>>>>>>
>>>>>>
>>>>>> The workspace contains about 148 Java projects (and some others like
>>>>>> features, project set projects etc.)
>>>>>>
>>>>>>
>>>>>>
>>>>>> I disabled Build Automatically, restarted Eclipse and then cleaned the whole
>>>>>> workspace. Then I started the build with Build All. The AJDT trace was set
>>>>>> to the default values and opened. It is attached to this mail.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Here are the most relevant parts:
>>>>>>
>>>>>>
>>>>>>
>>>>>> Line 192: 13:50:34 Project=com.dcx.ivkmds.application.ass, kind of build
>>>>>> requested=Full AspectJ compilation
>>>>>>
>>>>>> Line 208: 14:3:17 Types affected during build = 292
>>>>>>
>>>>>> Line 211:Timer event: 766396ms: Total time spent in AJBuilder.build() ->
>>>>>> more than 12 minutes!
>>>>>>
>>>>>> Line 707: 14:22:6 Timer event: 117857ms: Create markers:
>>>>>> com.dcx.ivkmds.application.ass (Finished creating markers for
>>>>>> com.dcx.ivkmds.application.ass)
>>>>>>
>>>>>>
>>>>>>
>>>>>> Line 370: 14:10:32 Project=com.dcx.ivkmds.fwk.test.ass, kind of build
>>>>>> requested=Full AspectJ compilation
>>>>>>
>>>>>> Line 387: 14:18:45 Types affected during build = 24
>>>>>>
>>>>>> Line 390; 14:18:46 Timer event: 493759ms: Total time spent in
>>>>>> AJBuilder.build() -> more than 8 minutes!
>>>>>>
>>>>>>
>>>>>>
>>>>>> Line 701: 14:21:10 Timer event: 62468ms: Create markers:
>>>>>> com.dcx.ivkmds.fwk.test.ass (Finished creating markers for
>>>>>> com.dcx.ivkmds.fwk.test.ass)
>>>>>>
>>>>>>
>>>>>>
>>>>>> I figure that the types in these projects have a lot of joinpoints. Is there
>>>>>> any place where I can see the number of joinpoints in these projects?
>>>>>>
>>>>>>
>>>>>>
>>>>>> Actually, the number of types involved isn't very high I would say.
>>>>>>
>>>>>>
>>>>>>
>>>>>> So the question is are these compile / weave times normal? For us it is a
>>>>>> major problem when the time to rebuild the whole workspace takes 38 minutes.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Is there anything I could try to do to improve the performance besides
>>>>>> reducing the number of joinpoints?
>>>>>>
>>>>>>
>>>>>>
>>>>>> I really like the benefit AspectJ provides but under these circumstances it
>>>>>> is very unpleasant and difficult to work with it.
>>>>>>
>>>>>>
>>>>>>
>>>>>> I'm looking forward to your reply.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thomas
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> aspectj-users mailing list
>>>>>> aspectj-users@...
>>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> aspectj-users mailing list
>>>>> aspectj-users@...
>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>> _______________________________________________
>>>>> aspectj-users mailing list
>>>>> aspectj-users@...
>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>>
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>
>>>
>>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Parent Message unknown AW: Overall problem with AJDT performance

by thofmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Yes 3

----- Ursprüngliche Nachricht -----
Von: Andy Clement <andrew.clement@...>
Gesendet: Samstag, 10. Oktober 2009 18:04
An: aspectj-users@... <aspectj-users@...>
Betreff: Re: [aspectj-users] Overall problem with AJDT performance


Hi Thomas,

It isn't clear to me which zip you used, did you use the 2nd one or
just the 3rd one?  I need to know which was used to decide if the
enhancement needs more work.  I presume you used the 3rd one.

You also don't appear to have turned off the xlint ?  In one project
below 86seconds is spent matching, 84 of which is in the xlint
processing.  Can you try with the xlint turned off?

So your full build time is now down at 12minutes?

Andy

2009/10/10 Thomas Hofmann <email@...>:

> Still too long but already much better:
>
> 10:55:30 Removed problems and tasks for project com.dcx.ivkmds.fwk.test.ass
> 10:55:30 Builder: Tidied output folder(s), removed class files and derived resources
> 10:55:31 Timer event: 5ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
> 10:55:43 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
> 10:55:43 ===========================================================================================
> 10:55:43 Build kind = FULLBUILD
> 10:55:43 Project=com.dcx.ivkmds.fwk.test.ass, kind of build requested=Full AspectJ compilation
> 10:55:43 Timer event: 0ms: Flush included source file cache
> 10:55:43 Timer event: 0ms: Check delta
> 10:55:43 Builder: Tidied output folder(s), removed class files and derived resources
> 10:55:43 Timer event: 212ms: Pre compile
> 10:55:43 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass has been read by compiler.  Resetting.
> 10:55:43      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
> 10:55:43 Resetting list of modified source files.  Was null
> 10:55:43 Preparing for build: not going to be incremental because no successful previous full build
> 10:55:44 Timer event: 1027ms: Time to first compiled message
> 10:55:45 Timer event: 1309ms: Time to first woven message
> 10:56:14 AspectJ reports build successful, build was: FULL
> 10:56:14 AJDE Callback: finish. Was full build: true
> 10:56:14 Timer event: 30751ms: Total time spent in AJDE
> 10:56:14 Timer event: 0ms: Refresh after build
> 10:56:14 Types affected during build = 24
> 10:56:14 Timer event: 30996ms: Total time spent in AJBuilder.build()
> 10:56:14 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.ass
> 10:56:14 Timer event: 1ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
> 10:56:20 Timer event: 6283ms: Create markers: com.dcx.ivkmds.fwk.test.ass (Finished creating markers for com.dcx.ivkmds.fwk.test.ass)
> 10:56:20 Created 572 markers in 24 files
>
>
> Timing ------------
> Entire time spent in the weaver instance created for this build:
>> performing model repairs=0ms
>> reweavable processing=0ms
>> verifying consistency=0ms
>> weaving aspects=260ms
>> weaving classes=27890ms
>  for those two weave steps, time spent pre-post calling the individual type wea
> ver instance: 37ms
>> weaving normal itds=17ms
>> weaving structural itds=0ms
>
> Breakdown of time spent in type weaver instances:
> class prep = 0ms
> typeWeaving = 0ms
> decaWeaving = 0ms
> fastShadowMatching = 0ms
> shadowMatching = 26470ms
> shadowWeaving = 1412ms
> postWeave = 3ms
> Total =27888ms
>
> Kinded pointcut matchInternal(): 22891ms
> Kinded pointcut match calls: 204036
> Kinded pointcut xlinttime: 20341ms
> ThisTarget pointcut matchInternal: 2166ms
>
> Timing: time spent in pipeline weaving: 28632ms
> Timing ------------
>
>
>
>
>
> Wow, I'm amazed. A second run on a different project (this was > 12 minutes but with a much larger heap when all was rebuild):
>
> 10:58:43 Removed problems and tasks for project com.dcx.ivkmds.application.ass
> 10:58:45 Builder: Tidied output folder(s), removed class files and derived resources
> 10:58:52 Compiler configuration for project com.dcx.ivkmds.application.ass doesn't know previous state, so assuming EVERYTHING has changed.
> 10:58:52 ===========================================================================================
> 10:58:52 Build kind = FULLBUILD
> 10:58:52 Project=com.dcx.ivkmds.application.ass, kind of build requested=Full AspectJ compilation
> 10:58:52 Timer event: 0ms: Flush included source file cache
> 10:58:52 Timer event: 0ms: Check delta
> 10:58:52 Builder: Tidied output folder(s), removed class files and derived resources
> 10:58:53 Timer event: 1452ms: Pre compile
> 10:58:54 Compiler configuration for project com.dcx.ivkmds.application.ass has been read by compiler.  Resetting.
> 10:58:54      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
> 10:58:54 Resetting list of modified source files.  Was null
> 10:58:54 Preparing for build: not going to be incremental because no successful previous full build
> 10:58:56 Timer event: 2834ms: Time to first compiled message
> 10:58:56 Timer event: 2866ms: Time to first woven message
> 10:59:44 AspectJ reports build successful, build was: FULL
> 10:59:45 AJDE Callback: finish. Was full build: true
> 10:59:45 Timer event: 51440ms: Total time spent in AJDE
> 10:59:45 Timer event: 0ms: Refresh after build
> 10:59:45 Types affected during build = 292
> 10:59:45 Timer event: 1ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.application.ass
> 10:59:45 Timer event: 52941ms: Total time spent in AJBuilder.build()
> 10:59:45 Timer event: 2ms: Delete markers: com.dcx.ivkmds.application.ass (Finished deleting markers for com.dcx.ivkmds.application.ass)
> 10:59:46 Timer event: 601ms: Create markers: com.dcx.ivkmds.application.ass (Finished creating markers for com.dcx.ivkmds.application.ass)
> 10:59:46 Created 2615 markers in 292 files
> 10:59:46 Timer event: 31ms: Delete markers: com.dcx.ivkmds.application.ass (Finished deleting markers for com.dcx.ivkmds.application.ass)
>
>
> Timing ------------
> Entire time spent in the weaver instance created for this build:
>> performing model repairs=1ms
>> reweavable processing=2ms
>> verifying consistency=0ms
>> weaving aspects=41ms
>> weaving classes=40926ms
>  for those two weave steps, time spent pre-post calling the individual type wea
> ver instance: 408ms
>> weaving normal itds=46ms
>> weaving structural itds=1ms
>
> Breakdown of time spent in type weaver instances:
> class prep = 6ms
> typeWeaving = 0ms
> decaWeaving = 1ms
> fastShadowMatching = 5ms
> shadowMatching = 37440ms
> shadowWeaving = 2172ms
> postWeave = 39ms
> Total =39667ms
>
> Kinded pointcut matchInternal(): 26404ms
> Kinded pointcut match calls: 182508
> Kinded pointcut xlinttime: 23990ms
> ThisTarget pointcut matchInternal: 7795ms
>
> Timing: time spent in pipeline weaving: 44233ms
> Timing ------------
> Unable to load cache.
>
>
>
>
>
>
>
> -----Original Message-----
> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
> Sent: Samstag, 10. Oktober 2009 03:07
> To: aspectj-users@...
> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>
> One more thing...  I had an idea that it could be some of the
> assumptions in our pointcut rewriter don't suit your scenario.  All
> pointcuts are processed such that the cheaper tests are run first.  We
> currently consider 'call' cheaper than 'this' - but it could be for
> certain combinations of wildcarding in the call() that this() could be
> evaluated faster (this may even be the case in general, but I haven't
> thought that full through yet).  Anyway, I've uploaded one final zip
> at:
>
> http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ3.zip
>
> In this zip I have reversed the costs and this() will be evaluated
> before call().  If this makes a positive impact for you we can looking
> adding some more smarts in the pointcut rewriter.
>
> Andy.
>
> 2009/10/9 Andy Clement <andrew.clement@...>:
>> new zip (has a 2 on the end of the name):
>>
>> http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ2.zip
>>
>> this will produce 4 new numbers.
>> The time spent matching kinded pointcuts (which include call).
>> The number of times the kinded pointcut matcher is called.
>> Of that time, the amount actually spent computing the xlint.
>> The time spent matching this/target pointcuts.
>>
>> Kinded pointcut matchInternal(): 9438ms
>> Kinded pointcut match calls: 517465
>> Kinded pointcut xlinttime: 1463ms
>> ThisTarget pointcut matchInternal: 9ms
>>
>> And
>>
>> 2009/10/9 Andy Clement <andrew.clement@...>:
>>> I don't think you need to collect any more necessarily - we can spot
>>> the culprit in that trace :)
>>>
>>>> Breakdown of time spent in type weaver instances:
>>>> class prep = 0ms
>>>> typeWeaving = 0ms
>>>> decaWeaving = 0ms
>>>> fastShadowMatching = 0ms
>>>> shadowMatching = 122806ms
>>>> shadowWeaving = 0ms
>>>> postWeave = 3ms
>>>> Total =122811ms
>>>
>>> As we suspected, it is matching.  Surprised the weaving time is 0
>>> though.  And absolutely no fast matching.  That is where including
>>> within() with any execution()s would help (if you can).
>>>
>>> Next breakdown will be into where the shadow matching time is spent.
>>> I imagine it is millions of potential call joinpoints.  I'll be in
>>> touch with another timer zip shortly.
>>>
>>> To turn off the xlint go to project properties, AspectJ compiler, and
>>> turn off 'Unmatched super type in call pointcut designator'
>>>
>>> Andy
>>>
>>> 2009/10/9 Thomas Hofmann <email@...>:
>>>> Hi Andy,
>>>>
>>>> thanks for the zips. Here is a first result:
>>>>
>>>> 21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
>>>> 21:59:2 ===========================================================================================
>>>> 21:59:2 Build kind = FULLBUILD
>>>> 21:59:2 Project=com.dcx.ivkmds.fwk.test.ass, kind of build requested=Full AspectJ compilation
>>>> 21:59:2 Timer event: 0ms: Flush included source file cache
>>>> 21:59:2 Timer event: 0ms: Check delta
>>>> 21:59:2 Builder: Tidied output folder(s), removed class files and derived resources
>>>> 21:59:2 Timer event: 526ms: Pre compile
>>>> 21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass has been read by compiler.  Resetting.
>>>> 21:59:2      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
>>>>
>>>> 21:59:2 Resetting list of modified source files.  Was null
>>>> 21:59:2 Preparing for build: not going to be incremental because no successful previous full build
>>>> 21:59:4 Timer event: 1141ms: Time to first compiled message
>>>> 21:59:4 Timer event: 1974ms: Time to first woven message
>>>> 22:1:9 AspectJ reports build successful, build was: FULL
>>>> 22:1:9 AJDE Callback: finish. Was full build: true
>>>> 22:1:9 Timer event: 126764ms: Total time spent in AJDE
>>>> 22:1:9 Timer event: 0ms: Refresh after build
>>>> 22:1:9 Types affected during build = 24
>>>> 22:1:9 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.ass
>>>> 22:1:9 Timer event: 127389ms: Total time spent in AJBuilder.build()
>>>> 22:1:9 Timer event: 16ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
>>>> 22:1:9 Timer event: 20ms: Delete markers: com.dcx.ivkmds._00_fwktest.ass (Finished deleting markers for com.dcx.ivkmds._00_fwktest.ass)
>>>> 22:1:13 Timer event: 3915ms: Create markers: com.dcx.ivkmds._00_fwktest.ass (Finished creating markers for com.dcx.ivkmds._00_fwktest.ass)
>>>> 22:1:13 Created 179 markers in 4 files
>>>> 22:1:16 Timer event: 12ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
>>>> 22:1:16 Timer event: 175ms: Delete markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished deleting markers for com.dcx.ivkmds.common.businessobjects.fwktest)
>>>> 22:1:19 Timer event: 2941ms: Create markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished creating markers for com.dcx.ivkmds.common.businessobjects.fwktest)
>>>> 22:1:19 Created 111 markers in 32 files
>>>> 22:1:24 Timer event: 7906ms: Create markers: com.dcx.ivkmds.fwk.test.ass (Finished creating markers for com.dcx.ivkmds.fwk.test.ass)
>>>> 22:1:24 Created 572 markers in 24 files
>>>>
>>>>
>>>> Timing ------------
>>>> Entire time spent in the weaver instance created for this build:
>>>>> performing model repairs=0ms
>>>>> reweavable processing=0ms
>>>>> verifying consistency=1ms
>>>>> weaving aspects=828ms
>>>>> weaving classes=123344ms
>>>>  for those two weave steps, time spent pre-post calling the individual type wea
>>>> ver instance: 37ms
>>>>> weaving normal itds=24ms
>>>>> weaving structural itds=1ms
>>>>
>>>> Breakdown of time spent in type weaver instances:
>>>> class prep = 0ms
>>>> typeWeaving = 0ms
>>>> decaWeaving = 0ms
>>>> fastShadowMatching = 0ms
>>>> shadowMatching = 122806ms
>>>> shadowWeaving = 0ms
>>>> postWeave = 3ms
>>>> Total =122811ms
>>>>
>>>> Timing: time spent in pipeline weaving: 124700ms
>>>> Timing ------------
>>>>
>>>>
>>>> More later...
>>>>
>>>>
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
>>>> Sent: Freitag, 9. Oktober 2009 17:57
>>>> To: aspectj-users@...
>>>> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>>>>
>>>> Hi Thomas,
>>>>
>>>> I've put a zip up on our download site containing two jars that
>>>> produce timing information.  The zip is here:
>>>>
>>>> http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ.zip
>>>>
>>>> It contains jars ajde.jar and aspectjweaver.jar
>>>>
>>>> These are replacements for the jars in your org.aspectj.ajde and
>>>> org.aspectj.weaver plugins (in your eclipse plugins folder).  So
>>>> backup the jars you have and replace them with these.
>>>>
>>>> Now run your eclipse with the console view (-consolelog).
>>>>
>>>> When you build a project you should then see per build output like
>>>> this (I built a 1000 file project here as an example:)
>>>>
>>>> Timing ------------
>>>> Entire time spent in the weaver instance created for this build:
>>>>> performing model repairs=4ms
>>>>> reweavable processing=10ms
>>>>> verifying consistency=6ms
>>>>> weaving aspects=454ms
>>>>> weaving classes=27433ms
>>>>  for those two weave steps, time spent pre-post calling the
>>>> individual type weaver instance: 916ms
>>>>> weaving normal itds=45ms
>>>>> weaving structural itds=56ms
>>>>
>>>> Breakdown of time spent in type weaver instances:
>>>> class prep = 154ms
>>>> typeWeaving = 32ms
>>>> decaWeaving = 19ms
>>>> fastShadowMatching = 56ms
>>>> shadowMatching = 19303ms
>>>> shadowWeaving = 0ms
>>>> postWeave = 789ms
>>>> Total =20356ms
>>>>
>>>> Timing: time spent in pipeline weaving: 31963ms
>>>> Timing ------------
>>>>
>>>> That initial information will enable us to go into the right area
>>>> next.  Feel free to start emailing me directly rather than using the
>>>> list, or raise a bug and we can communicate through that.  Oh, I would
>>>> turn off build automatically and just build a single project so we
>>>> know what we are dealing with.  I guess it doesn't matter which, just
>>>> one you think is taking too long (I'd saying anything over a 1 or 2
>>>> minutes is too long).
>>>>
>>>> Your use of 'call()' is interesting and the fact that you get that
>>>> Xlint out.  But let's start with this.  I guess we are currently going
>>>> to suspect your shadowMatching time will be large.  Then we can look
>>>> at which parts of shadowmatching are taking a long time.  The use of
>>>> within() rather than relying on the declaring type in an execution()
>>>> pointcut to limit what is woven would enable the fastMatching time
>>>> above to increase and the shadowMatching time to decrease because
>>>> within() supports fast match and execution does not.  within() and
>>>> call() is not such a useful combination.  I might rework these timers
>>>> into something more permanent in the codebase.
>>>>
>>>> Andy
>>>>
>>>> 2009/10/9 Thomas Hofmann <email@...>:
>>>>> Hi Andy,
>>>>>
>>>>> yes we have Ant driven builds. One for the Rich Client Application (based on Eclipse RCP) and one for the J2EE server part that produces an EAR file.
>>>>> The former runs about 12-15 minutes but it does not contain the projects with .ass. in the project / package names. The project that took more than 12 minutes to build was one of these server projects. The other one was a test project which also isn't part of the client build. The creation of the EAR file uses Ant tasks that take what is already compiled in the eclipse workspace so I have no other numbers for that part.
>>>>>
>>>>> I'm not sure if my pointcuts are well written. My experience with AspectJ is not that big. Anyway, I can say that the aspects that are woven into the application.ass project (the one that takes more than 12 minutes) don't use within().I'm not quite sure what would be the benefit of using within. Almost all classes in the project need to have the advice applied.
>>>>>
>>>>> I'm using mostly execution and call together with matching based on types.
>>>>>
>>>>> Let me give you some more details for the most problematic project:
>>>>> com.dcx.ivkmds.application.ass
>>>>>
>>>>> It contains repositories that handle persistence using Hibernate internally. There is a Java interface and an implementation based on Hibernate for each repository. In addition there are some utility classes but only a few.
>>>>>
>>>>> I don't see how within() would make much difference in terms of types affected (but of course I would like to learn if I'm wrong).
>>>>>
>>>>> The aspects that are applied reside in another project: com.dcx.ivkmds.fwk.ass. This a part of our "framework". The aspects in this project apply to other projects that make use of the framework, not just to com.dcx.ivkmds.application.ass.
>>>>>
>>>>> com.dcx.ivkmds.fwk.ass contains the following aspects:
>>>>>
>>>>> AssComponentAspect:
>>>>> Contains ITDs for all classes that implement the AssComponent interface.
>>>>>
>>>>> BaseSessionLifecycleControl:
>>>>> Is an abstract aspect that contains an around advice to open and close the Hibernate session. It contains an abstract pointcut that subclasses of the aspect may you to specify the boundaries for Hibernate sessions.
>>>>>
>>>>> SessionLifecycleControl:
>>>>> A concrete subclass of BaseSessionLifecycleControl. It contains the pointcut that determines where the advice is to be applied.
>>>>>
>>>>> MeasuringPoint:
>>>>> Contains pointcuts and advice for performance logging.
>>>>>
>>>>> DatabaseConnectionCustomization:
>>>>> Contains two after advices and one before advice to make 3rd party JDBC driver specific calls on the JDBC connection when a new connection is retrieved.
>>>>>
>>>>> DatabaseErrorTransformation:
>>>>> Uses an around advice to add special error handling for exceptions from the database. The are inspected and transformed to application specific exception types.
>>>>>
>>>>>
>>>>> Only the last three aspects apply to the classes in com.dcx.ivkmds.application.ass.
>>>>>
>>>>> Will the other three aspects visible on the aspect path of com.dcx.ivkmds.application.ass have a great negative performance impact? Would this require within()?
>>>>>
>>>>> What I don't like about within() is that it kind of turns dependencies around. If I need to specify within() in the aspects that are part of the framework I need to know what other parts of the framework make use of them.
>>>>> I even have to make the clients of the framework visible to the framework. This would result in cycles I believe.
>>>>>
>>>>> I would be glad to try out a debug build that would provide more insight into where the time is spent.
>>>>> Regarding yourkit I can only say that I don't have a license for it. I could probably use the 15 day evalutation version but would need to get some instructions on how to configure it to filter the classes your are interessted in.
>>>>>
>>>>> My eclipse wasn't running short of memory. Heap space was 1200 MB. During the build 600-900 MB were used (which is too much - but this is a different issue).
>>>>>
>>>>> I can give you more details on the aspects but I don't want to spam the mailing list. So please tell me if you think this is the right place to discuss these issues. I could also open a bug in bugzilla or we could use direct email or skype for example to exchange further details.
>>>>> Posting lots of source code to the mailing list or bugzilla is not what I want to do. I would prefer direct (not public) communication for this.
>>>>>
>>>>> Do you see any obvious problems with the setup I described above?
>>>>>
>>>>> Regards,
>>>>>
>>>>> Thomas
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
>>>>> Sent: Donnerstag, 8. Oktober 2009 17:37
>>>>> To: aspectj-users@...
>>>>> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>>>>>
>>>>> Hi Thomas,
>>>>>
>>>>> Those build times do look unreasonable.  Do you do product builds
>>>>> outside of eclipse (perhaps Ant driven) - do these builds exhibit the
>>>>> same issue?
>>>>>
>>>>> I've never seen a project build take 12minutes so clearly something
>>>>> unusual is happening.  I presume all your aspects are using well
>>>>> written pointcuts that involve scoping within() clauses and don't just
>>>>> attempt matching with just kinded pointcuts (like execution).  To see
>>>>> all the affected joinpoints in one place, you can turn on the
>>>>> weaveinfo info messages for the project.  Are you using ITDs?
>>>>>
>>>>> I think we need more visibility into the build time - I could do you a
>>>>> debug build of the plugins that will include extra stats about where
>>>>> the time goes.  (Or even better you could do a yourkit profile and
>>>>> send it to me? That would make it obvious).
>>>>>
>>>>> Oh, and is your eclipse running tight on memory?  I wondered if you
>>>>> were running near the limit and it was thrashing.
>>>>>
>>>>> Andy
>>>>>
>>>>>
>>>>> 2009/10/8 Thomas Hofmann <email@...>:
>>>>>> Hi Andy, Andrew J
>>>>>>
>>>>>>
>>>>>>
>>>>>> I'm still having problems with the performance of AJDT and AspectJ in my
>>>>>> workspace.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Let me start by describing my environment:
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thinkpad T61p
>>>>>>
>>>>>>
>>>>>>
>>>>>> Eclipse Java EE IDE for Web Developers.
>>>>>>
>>>>>> Version: 1.2.0.20090621-0820
>>>>>>
>>>>>> Build id: 20090621-0832
>>>>>>
>>>>>> based on Eclipse 3.5.0
>>>>>>
>>>>>>
>>>>>>
>>>>>> Version: 2.0.1.e35x-20091001-1600
>>>>>>
>>>>>> AspectJ version: 1.6.6.20090930185500
>>>>>>
>>>>>>
>>>>>>
>>>>>> The workspace contains about 148 Java projects (and some others like
>>>>>> features, project set projects etc.)
>>>>>>
>>>>>>
>>>>>>
>>>>>> I disabled Build Automatically, restarted Eclipse and then cleaned the whole
>>>>>> workspace. Then I started the build with Build All. The AJDT trace was set
>>>>>> to the default values and opened. It is attached to this mail.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Here are the most relevant parts:
>>>>>>
>>>>>>
>>>>>>
>>>>>> Line 192: 13:50:34 Project=com.dcx.ivkmds.application.ass, kind of build
>>>>>> requested=Full AspectJ compilation
>>>>>>
>>>>>> Line 208: 14:3:17 Types affected during build = 292
>>>>>>
>>>>>> Line 211:Timer event: 766396ms: Total time spent in AJBuilder.build() ->
>>>>>> more than 12 minutes!
>>>>>>
>>>>>> Line 707: 14:22:6 Timer event: 117857ms: Create markers:
>>>>>> com.dcx.ivkmds.application.ass (Finished creating markers for
>>>>>> com.dcx.ivkmds.application.ass)
>>>>>>
>>>>>>
>>>>>>
>>>>>> Line 370: 14:10:32 Project=com.dcx.ivkmds.fwk.test.ass, kind of build
>>>>>> requested=Full AspectJ compilation
>>>>>>
>>>>>> Line 387: 14:18:45 Types affected during build = 24
>>>>>>
>>>>>> Line 390; 14:18:46 Timer event: 493759ms: Total time spent in
>>>>>> AJBuilder.build() -> more than 8 minutes!
>>>>>>
>>>>>>
>>>>>>
>>>>>> Line 701: 14:21:10 Timer event: 62468ms: Create markers:
>>>>>> com.dcx.ivkmds.fwk.test.ass (Finished creating markers for
>>>>>> com.dcx.ivkmds.fwk.test.ass)
>>>>>>
>>>>>>
>>>>>>
>>>>>> I figure that the types in these projects have a lot of joinpoints. Is there
>>>>>> any place where I can see the number of joinpoints in these projects?
>>>>>>
>>>>>>
>>>>>>
>>>>>> Actually, the number of types involved isn't very high I would say.
>>>>>>
>>>>>>
>>>>>>
>>>>>> So the question is are these compile / weave times normal? For us it is a
>>>>>> major problem when the time to rebuild the whole workspace takes 38 minutes.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Is there anything I could try to do to improve the performance besides
>>>>>> reducing the number of joinpoints?
>>>>>>
>>>>>>
>>>>>>
>>>>>> I really like the benefit AspectJ provides but under these circumstances it
>>>>>> is very unpleasant and difficult to work with it.
>>>>>>
>>>>>>
>>>>>>
>>>>>> I'm looking forward to your reply.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thomas
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> aspectj-users mailing list
>>>>>> aspectj-users@...
>>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> aspectj-users mailing list
>>>>> aspectj-users@...
>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>> _______________________________________________
>>>>> aspectj-users mailing list
>>>>> aspectj-users@...
>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>>
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>
>>>
>>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Parent Message unknown AW: Overall problem with AJDT performance

by thofmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Yes zip 3 and I din't change the confg yet. The trace was from a full ws build. Loos very promising.


----- Ursprüngliche Nachricht -----
Von: Andy Clement <andrew.clement@...>
Gesendet: Samstag, 10. Oktober 2009 18:04
An: aspectj-users@... <aspectj-users@...>
Betreff: Re: [aspectj-users] Overall problem with AJDT performance


Hi Thomas,

It isn't clear to me which zip you used, did you use the 2nd one or
just the 3rd one?  I need to know which was used to decide if the
enhancement needs more work.  I presume you used the 3rd one.

You also don't appear to have turned off the xlint ?  In one project
below 86seconds is spent matching, 84 of which is in the xlint
processing.  Can you try with the xlint turned off?

So your full build time is now down at 12minutes?

Andy

2009/10/10 Thomas Hofmann <email@...>:

> Still too long but already much better:
>
> 10:55:30 Removed problems and tasks for project com.dcx.ivkmds.fwk.test.ass
> 10:55:30 Builder: Tidied output folder(s), removed class files and derived resources
> 10:55:31 Timer event: 5ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
> 10:55:43 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
> 10:55:43 ===========================================================================================
> 10:55:43 Build kind = FULLBUILD
> 10:55:43 Project=com.dcx.ivkmds.fwk.test.ass, kind of build requested=Full AspectJ compilation
> 10:55:43 Timer event: 0ms: Flush included source file cache
> 10:55:43 Timer event: 0ms: Check delta
> 10:55:43 Builder: Tidied output folder(s), removed class files and derived resources
> 10:55:43 Timer event: 212ms: Pre compile
> 10:55:43 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass has been read by compiler.  Resetting.
> 10:55:43      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
> 10:55:43 Resetting list of modified source files.  Was null
> 10:55:43 Preparing for build: not going to be incremental because no successful previous full build
> 10:55:44 Timer event: 1027ms: Time to first compiled message
> 10:55:45 Timer event: 1309ms: Time to first woven message
> 10:56:14 AspectJ reports build successful, build was: FULL
> 10:56:14 AJDE Callback: finish. Was full build: true
> 10:56:14 Timer event: 30751ms: Total time spent in AJDE
> 10:56:14 Timer event: 0ms: Refresh after build
> 10:56:14 Types affected during build = 24
> 10:56:14 Timer event: 30996ms: Total time spent in AJBuilder.build()
> 10:56:14 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.ass
> 10:56:14 Timer event: 1ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
> 10:56:20 Timer event: 6283ms: Create markers: com.dcx.ivkmds.fwk.test.ass (Finished creating markers for com.dcx.ivkmds.fwk.test.ass)
> 10:56:20 Created 572 markers in 24 files
>
>
> Timing ------------
> Entire time spent in the weaver instance created for this build:
>> performing model repairs=0ms
>> reweavable processing=0ms
>> verifying consistency=0ms
>> weaving aspects=260ms
>> weaving classes=27890ms
>  for those two weave steps, time spent pre-post calling the individual type wea
> ver instance: 37ms
>> weaving normal itds=17ms
>> weaving structural itds=0ms
>
> Breakdown of time spent in type weaver instances:
> class prep = 0ms
> typeWeaving = 0ms
> decaWeaving = 0ms
> fastShadowMatching = 0ms
> shadowMatching = 26470ms
> shadowWeaving = 1412ms
> postWeave = 3ms
> Total =27888ms
>
> Kinded pointcut matchInternal(): 22891ms
> Kinded pointcut match calls: 204036
> Kinded pointcut xlinttime: 20341ms
> ThisTarget pointcut matchInternal: 2166ms
>
> Timing: time spent in pipeline weaving: 28632ms
> Timing ------------
>
>
>
>
>
> Wow, I'm amazed. A second run on a different project (this was > 12 minutes but with a much larger heap when all was rebuild):
>
> 10:58:43 Removed problems and tasks for project com.dcx.ivkmds.application.ass
> 10:58:45 Builder: Tidied output folder(s), removed class files and derived resources
> 10:58:52 Compiler configuration for project com.dcx.ivkmds.application.ass doesn't know previous state, so assuming EVERYTHING has changed.
> 10:58:52 ===========================================================================================
> 10:58:52 Build kind = FULLBUILD
> 10:58:52 Project=com.dcx.ivkmds.application.ass, kind of build requested=Full AspectJ compilation
> 10:58:52 Timer event: 0ms: Flush included source file cache
> 10:58:52 Timer event: 0ms: Check delta
> 10:58:52 Builder: Tidied output folder(s), removed class files and derived resources
> 10:58:53 Timer event: 1452ms: Pre compile
> 10:58:54 Compiler configuration for project com.dcx.ivkmds.application.ass has been read by compiler.  Resetting.
> 10:58:54      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
> 10:58:54 Resetting list of modified source files.  Was null
> 10:58:54 Preparing for build: not going to be incremental because no successful previous full build
> 10:58:56 Timer event: 2834ms: Time to first compiled message
> 10:58:56 Timer event: 2866ms: Time to first woven message
> 10:59:44 AspectJ reports build successful, build was: FULL
> 10:59:45 AJDE Callback: finish. Was full build: true
> 10:59:45 Timer event: 51440ms: Total time spent in AJDE
> 10:59:45 Timer event: 0ms: Refresh after build
> 10:59:45 Types affected during build = 292
> 10:59:45 Timer event: 1ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.application.ass
> 10:59:45 Timer event: 52941ms: Total time spent in AJBuilder.build()
> 10:59:45 Timer event: 2ms: Delete markers: com.dcx.ivkmds.application.ass (Finished deleting markers for com.dcx.ivkmds.application.ass)
> 10:59:46 Timer event: 601ms: Create markers: com.dcx.ivkmds.application.ass (Finished creating markers for com.dcx.ivkmds.application.ass)
> 10:59:46 Created 2615 markers in 292 files
> 10:59:46 Timer event: 31ms: Delete markers: com.dcx.ivkmds.application.ass (Finished deleting markers for com.dcx.ivkmds.application.ass)
>
>
> Timing ------------
> Entire time spent in the weaver instance created for this build:
>> performing model repairs=1ms
>> reweavable processing=2ms
>> verifying consistency=0ms
>> weaving aspects=41ms
>> weaving classes=40926ms
>  for those two weave steps, time spent pre-post calling the individual type wea
> ver instance: 408ms
>> weaving normal itds=46ms
>> weaving structural itds=1ms
>
> Breakdown of time spent in type weaver instances:
> class prep = 6ms
> typeWeaving = 0ms
> decaWeaving = 1ms
> fastShadowMatching = 5ms
> shadowMatching = 37440ms
> shadowWeaving = 2172ms
> postWeave = 39ms
> Total =39667ms
>
> Kinded pointcut matchInternal(): 26404ms
> Kinded pointcut match calls: 182508
> Kinded pointcut xlinttime: 23990ms
> ThisTarget pointcut matchInternal: 7795ms
>
> Timing: time spent in pipeline weaving: 44233ms
> Timing ------------
> Unable to load cache.
>
>
>
>
>
>
>
> -----Original Message-----
> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
> Sent: Samstag, 10. Oktober 2009 03:07
> To: aspectj-users@...
> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>
> One more thing...  I had an idea that it could be some of the
> assumptions in our pointcut rewriter don't suit your scenario.  All
> pointcuts are processed such that the cheaper tests are run first.  We
> currently consider 'call' cheaper than 'this' - but it could be for
> certain combinations of wildcarding in the call() that this() could be
> evaluated faster (this may even be the case in general, but I haven't
> thought that full through yet).  Anyway, I've uploaded one final zip
> at:
>
> http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ3.zip
>
> In this zip I have reversed the costs and this() will be evaluated
> before call().  If this makes a positive impact for you we can looking
> adding some more smarts in the pointcut rewriter.
>
> Andy.
>
> 2009/10/9 Andy Clement <andrew.clement@...>:
>> new zip (has a 2 on the end of the name):
>>
>> http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ2.zip
>>
>> this will produce 4 new numbers.
>> The time spent matching kinded pointcuts (which include call).
>> The number of times the kinded pointcut matcher is called.
>> Of that time, the amount actually spent computing the xlint.
>> The time spent matching this/target pointcuts.
>>
>> Kinded pointcut matchInternal(): 9438ms
>> Kinded pointcut match calls: 517465
>> Kinded pointcut xlinttime: 1463ms
>> ThisTarget pointcut matchInternal: 9ms
>>
>> And
>>
>> 2009/10/9 Andy Clement <andrew.clement@...>:
>>> I don't think you need to collect any more necessarily - we can spot
>>> the culprit in that trace :)
>>>
>>>> Breakdown of time spent in type weaver instances:
>>>> class prep = 0ms
>>>> typeWeaving = 0ms
>>>> decaWeaving = 0ms
>>>> fastShadowMatching = 0ms
>>>> shadowMatching = 122806ms
>>>> shadowWeaving = 0ms
>>>> postWeave = 3ms
>>>> Total =122811ms
>>>
>>> As we suspected, it is matching.  Surprised the weaving time is 0
>>> though.  And absolutely no fast matching.  That is where including
>>> within() with any execution()s would help (if you can).
>>>
>>> Next breakdown will be into where the shadow matching time is spent.
>>> I imagine it is millions of potential call joinpoints.  I'll be in
>>> touch with another timer zip shortly.
>>>
>>> To turn off the xlint go to project properties, AspectJ compiler, and
>>> turn off 'Unmatched super type in call pointcut designator'
>>>
>>> Andy
>>>
>>> 2009/10/9 Thomas Hofmann <email@...>:
>>>> Hi Andy,
>>>>
>>>> thanks for the zips. Here is a first result:
>>>>
>>>> 21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
>>>> 21:59:2 ===========================================================================================
>>>> 21:59:2 Build kind = FULLBUILD
>>>> 21:59:2 Project=com.dcx.ivkmds.fwk.test.ass, kind of build requested=Full AspectJ compilation
>>>> 21:59:2 Timer event: 0ms: Flush included source file cache
>>>> 21:59:2 Timer event: 0ms: Check delta
>>>> 21:59:2 Builder: Tidied output folder(s), removed class files and derived resources
>>>> 21:59:2 Timer event: 526ms: Pre compile
>>>> 21:59:2 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass has been read by compiler.  Resetting.
>>>> 21:59:2      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
>>>>
>>>> 21:59:2 Resetting list of modified source files.  Was null
>>>> 21:59:2 Preparing for build: not going to be incremental because no successful previous full build
>>>> 21:59:4 Timer event: 1141ms: Time to first compiled message
>>>> 21:59:4 Timer event: 1974ms: Time to first woven message
>>>> 22:1:9 AspectJ reports build successful, build was: FULL
>>>> 22:1:9 AJDE Callback: finish. Was full build: true
>>>> 22:1:9 Timer event: 126764ms: Total time spent in AJDE
>>>> 22:1:9 Timer event: 0ms: Refresh after build
>>>> 22:1:9 Types affected during build = 24
>>>> 22:1:9 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.ass
>>>> 22:1:9 Timer event: 127389ms: Total time spent in AJBuilder.build()
>>>> 22:1:9 Timer event: 16ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
>>>> 22:1:9 Timer event: 20ms: Delete markers: com.dcx.ivkmds._00_fwktest.ass (Finished deleting markers for com.dcx.ivkmds._00_fwktest.ass)
>>>> 22:1:13 Timer event: 3915ms: Create markers: com.dcx.ivkmds._00_fwktest.ass (Finished creating markers for com.dcx.ivkmds._00_fwktest.ass)
>>>> 22:1:13 Created 179 markers in 4 files
>>>> 22:1:16 Timer event: 12ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
>>>> 22:1:16 Timer event: 175ms: Delete markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished deleting markers for com.dcx.ivkmds.common.businessobjects.fwktest)
>>>> 22:1:19 Timer event: 2941ms: Create markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished creating markers for com.dcx.ivkmds.common.businessobjects.fwktest)
>>>> 22:1:19 Created 111 markers in 32 files
>>>> 22:1:24 Timer event: 7906ms: Create markers: com.dcx.ivkmds.fwk.test.ass (Finished creating markers for com.dcx.ivkmds.fwk.test.ass)
>>>> 22:1:24 Created 572 markers in 24 files
>>>>
>>>>
>>>> Timing ------------
>>>> Entire time spent in the weaver instance created for this build:
>>>>> performing model repairs=0ms
>>>>> reweavable processing=0ms
>>>>> verifying consistency=1ms
>>>>> weaving aspects=828ms
>>>>> weaving classes=123344ms
>>>>  for those two weave steps, time spent pre-post calling the individual type wea
>>>> ver instance: 37ms
>>>>> weaving normal itds=24ms
>>>>> weaving structural itds=1ms
>>>>
>>>> Breakdown of time spent in type weaver instances:
>>>> class prep = 0ms
>>>> typeWeaving = 0ms
>>>> decaWeaving = 0ms
>>>> fastShadowMatching = 0ms
>>>> shadowMatching = 122806ms
>>>> shadowWeaving = 0ms
>>>> postWeave = 3ms
>>>> Total =122811ms
>>>>
>>>> Timing: time spent in pipeline weaving: 124700ms
>>>> Timing ------------
>>>>
>>>>
>>>> More later...
>>>>
>>>>
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
>>>> Sent: Freitag, 9. Oktober 2009 17:57
>>>> To: aspectj-users@...
>>>> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>>>>
>>>> Hi Thomas,
>>>>
>>>> I've put a zip up on our download site containing two jars that
>>>> produce timing information.  The zip is here:
>>>>
>>>> http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/dev/timedAspectJ.zip
>>>>
>>>> It contains jars ajde.jar and aspectjweaver.jar
>>>>
>>>> These are replacements for the jars in your org.aspectj.ajde and
>>>> org.aspectj.weaver plugins (in your eclipse plugins folder).  So
>>>> backup the jars you have and replace them with these.
>>>>
>>>> Now run your eclipse with the console view (-consolelog).
>>>>
>>>> When you build a project you should then see per build output like
>>>> this (I built a 1000 file project here as an example:)
>>>>
>>>> Timing ------------
>>>> Entire time spent in the weaver instance created for this build:
>>>>> performing model repairs=4ms
>>>>> reweavable processing=10ms
>>>>> verifying consistency=6ms
>>>>> weaving aspects=454ms
>>>>> weaving classes=27433ms
>>>>  for those two weave steps, time spent pre-post calling the
>>>> individual type weaver instance: 916ms
>>>>> weaving normal itds=45ms
>>>>> weaving structural itds=56ms
>>>>
>>>> Breakdown of time spent in type weaver instances:
>>>> class prep = 154ms
>>>> typeWeaving = 32ms
>>>> decaWeaving = 19ms
>>>> fastShadowMatching = 56ms
>>>> shadowMatching = 19303ms
>>>> shadowWeaving = 0ms
>>>> postWeave = 789ms
>>>> Total =20356ms
>>>>
>>>> Timing: time spent in pipeline weaving: 31963ms
>>>> Timing ------------
>>>>
>>>> That initial information will enable us to go into the right area
>>>> next.  Feel free to start emailing me directly rather than using the
>>>> list, or raise a bug and we can communicate through that.  Oh, I would
>>>> turn off build automatically and just build a single project so we
>>>> know what we are dealing with.  I guess it doesn't matter which, just
>>>> one you think is taking too long (I'd saying anything over a 1 or 2
>>>> minutes is too long).
>>>>
>>>> Your use of 'call()' is interesting and the fact that you get that
>>>> Xlint out.  But let's start with this.  I guess we are currently going
>>>> to suspect your shadowMatching time will be large.  Then we can look
>>>> at which parts of shadowmatching are taking a long time.  The use of
>>>> within() rather than relying on the declaring type in an execution()
>>>> pointcut to limit what is woven would enable the fastMatching time
>>>> above to increase and the shadowMatching time to decrease because
>>>> within() supports fast match and execution does not.  within() and
>>>> call() is not such a useful combination.  I might rework these timers
>>>> into something more permanent in the codebase.
>>>>
>>>> Andy
>>>>
>>>> 2009/10/9 Thomas Hofmann <email@...>:
>>>>> Hi Andy,
>>>>>
>>>>> yes we have Ant driven builds. One for the Rich Client Application (based on Eclipse RCP) and one for the J2EE server part that produces an EAR file.
>>>>> The former runs about 12-15 minutes but it does not contain the projects with .ass. in the project / package names. The project that took more than 12 minutes to build was one of these server projects. The other one was a test project which also isn't part of the client build. The creation of the EAR file uses Ant tasks that take what is already compiled in the eclipse workspace so I have no other numbers for that part.
>>>>>
>>>>> I'm not sure if my pointcuts are well written. My experience with AspectJ is not that big. Anyway, I can say that the aspects that are woven into the application.ass project (the one that takes more than 12 minutes) don't use within().I'm not quite sure what would be the benefit of using within. Almost all classes in the project need to have the advice applied.
>>>>>
>>>>> I'm using mostly execution and call together with matching based on types.
>>>>>
>>>>> Let me give you some more details for the most problematic project:
>>>>> com.dcx.ivkmds.application.ass
>>>>>
>>>>> It contains repositories that handle persistence using Hibernate internally. There is a Java interface and an implementation based on Hibernate for each repository. In addition there are some utility classes but only a few.
>>>>>
>>>>> I don't see how within() would make much difference in terms of types affected (but of course I would like to learn if I'm wrong).
>>>>>
>>>>> The aspects that are applied reside in another project: com.dcx.ivkmds.fwk.ass. This a part of our "framework". The aspects in this project apply to other projects that make use of the framework, not just to com.dcx.ivkmds.application.ass.
>>>>>
>>>>> com.dcx.ivkmds.fwk.ass contains the following aspects:
>>>>>
>>>>> AssComponentAspect:
>>>>> Contains ITDs for all classes that implement the AssComponent interface.
>>>>>
>>>>> BaseSessionLifecycleControl:
>>>>> Is an abstract aspect that contains an around advice to open and close the Hibernate session. It contains an abstract pointcut that subclasses of the aspect may you to specify the boundaries for Hibernate sessions.
>>>>>
>>>>> SessionLifecycleControl:
>>>>> A concrete subclass of BaseSessionLifecycleControl. It contains the pointcut that determines where the advice is to be applied.
>>>>>
>>>>> MeasuringPoint:
>>>>> Contains pointcuts and advice for performance logging.
>>>>>
>>>>> DatabaseConnectionCustomization:
>>>>> Contains two after advices and one before advice to make 3rd party JDBC driver specific calls on the JDBC connection when a new connection is retrieved.
>>>>>
>>>>> DatabaseErrorTransformation:
>>>>> Uses an around advice to add special error handling for exceptions from the database. The are inspected and transformed to application specific exception types.
>>>>>
>>>>>
>>>>> Only the last three aspects apply to the classes in com.dcx.ivkmds.application.ass.
>>>>>
>>>>> Will the other three aspects visible on the aspect path of com.dcx.ivkmds.application.ass have a great negative performance impact? Would this require within()?
>>>>>
>>>>> What I don't like about within() is that it kind of turns dependencies around. If I need to specify within() in the aspects that are part of the framework I need to know what other parts of the framework make use of them.
>>>>> I even have to make the clients of the framework visible to the framework. This would result in cycles I believe.
>>>>>
>>>>> I would be glad to try out a debug build that would provide more insight into where the time is spent.
>>>>> Regarding yourkit I can only say that I don't have a license for it. I could probably use the 15 day evalutation version but would need to get some instructions on how to configure it to filter the classes your are interessted in.
>>>>>
>>>>> My eclipse wasn't running short of memory. Heap space was 1200 MB. During the build 600-900 MB were used (which is too much - but this is a different issue).
>>>>>
>>>>> I can give you more details on the aspects but I don't want to spam the mailing list. So please tell me if you think this is the right place to discuss these issues. I could also open a bug in bugzilla or we could use direct email or skype for example to exchange further details.
>>>>> Posting lots of source code to the mailing list or bugzilla is not what I want to do. I would prefer direct (not public) communication for this.
>>>>>
>>>>> Do you see any obvious problems with the setup I described above?
>>>>>
>>>>> Regards,
>>>>>
>>>>> Thomas
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement
>>>>> Sent: Donnerstag, 8. Oktober 2009 17:37
>>>>> To: aspectj-users@...
>>>>> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>>>>>
>>>>> Hi Thomas,
>>>>>
>>>>> Those build times do look unreasonable.  Do you do product builds
>>>>> outside of eclipse (perhaps Ant driven) - do these builds exhibit the
>>>>> same issue?
>>>>>
>>>>> I've never seen a project build take 12minutes so clearly something
>>>>> unusual is happening.  I presume all your aspects are using well
>>>>> written pointcuts that involve scoping within() clauses and don't just
>>>>> attempt matching with just kinded pointcuts (like execution).  To see
>>>>> all the affected joinpoints in one place, you can turn on the
>>>>> weaveinfo info messages for the project.  Are you using ITDs?
>>>>>
>>>>> I think we need more visibility into the build time - I could do you a
>>>>> debug build of the plugins that will include extra stats about where
>>>>> the time goes.  (Or even better you could do a yourkit profile and
>>>>> send it to me? That would make it obvious).
>>>>>
>>>>> Oh, and is your eclipse running tight on memory?  I wondered if you
>>>>> were running near the limit and it was thrashing.
>>>>>
>>>>> Andy
>>>>>
>>>>>
>>>>> 2009/10/8 Thomas Hofmann <email@...>:
>>>>>> Hi Andy, Andrew J
>>>>>>
>>>>>>
>>>>>>
>>>>>> I'm still having problems with the performance of AJDT and AspectJ in my
>>>>>> workspace.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Let me start by describing my environment:
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thinkpad T61p
>>>>>>
>>>>>>
>>>>>>
>>>>>> Eclipse Java EE IDE for Web Developers.
>>>>>>
>>>>>> Version: 1.2.0.20090621-0820
>>>>>>
>>>>>> Build id: 20090621-0832
>>>>>>
>>>>>> based on Eclipse 3.5.0
>>>>>>
>>>>>>
>>>>>>
>>>>>> Version: 2.0.1.e35x-20091001-1600
>>>>>>
>>>>>> AspectJ version: 1.6.6.20090930185500
>>>>>>
>>>>>>
>>>>>>
>>>>>> The workspace contains about 148 Java projects (and some others like
>>>>>> features, project set projects etc.)
>>>>>>
>>>>>>
>>>>>>
>>>>>> I disabled Build Automatically, restarted Eclipse and then cleaned the whole
>>>>>> workspace. Then I started the build with Build All. The AJDT trace was set
>>>>>> to the default values and opened. It is attached to this mail.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Here are the most relevant parts:
>>>>>>
>>>>>>
>>>>>>
>>>>>> Line 192: 13:50:34 Project=com.dcx.ivkmds.application.ass, kind of build
>>>>>> requested=Full AspectJ compilation
>>>>>>
>>>>>> Line 208: 14:3:17 Types affected during build = 292
>>>>>>
>>>>>> Line 211:Timer event: 766396ms: Total time spent in AJBuilder.build() ->
>>>>>> more than 12 minutes!
>>>>>>
>>>>>> Line 707: 14:22:6 Timer event: 117857ms: Create markers:
>>>>>> com.dcx.ivkmds.application.ass (Finished creating markers for
>>>>>> com.dcx.ivkmds.application.ass)
>>>>>>
>>>>>>
>>>>>>
>>>>>> Line 370: 14:10:32 Project=com.dcx.ivkmds.fwk.test.ass, kind of build
>>>>>> requested=Full AspectJ compilation
>>>>>>
>>>>>> Line 387: 14:18:45 Types affected during build = 24
>>>>>>
>>>>>> Line 390; 14:18:46 Timer event: 493759ms: Total time spent in
>>>>>> AJBuilder.build() -> more than 8 minutes!
>>>>>>
>>>>>>
>>>>>>
>>>>>> Line 701: 14:21:10 Timer event: 62468ms: Create markers:
>>>>>> com.dcx.ivkmds.fwk.test.ass (Finished creating markers for
>>>>>> com.dcx.ivkmds.fwk.test.ass)
>>>>>>
>>>>>>
>>>>>>
>>>>>> I figure that the types in these projects have a lot of joinpoints. Is there
>>>>>> any place where I can see the number of joinpoints in these projects?
>>>>>>
>>>>>>
>>>>>>
>>>>>> Actually, the number of types involved isn't very high I would say.
>>>>>>
>>>>>>
>>>>>>
>>>>>> So the question is are these compile / weave times normal? For us it is a
>>>>>> major problem when the time to rebuild the whole workspace takes 38 minutes.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Is there anything I could try to do to improve the performance besides
>>>>>> reducing the number of joinpoints?
>>>>>>
>>>>>>
>>>>>>
>>>>>> I really like the benefit AspectJ provides but under these circumstances it
>>>>>> is very unpleasant and difficult to work with it.
>>>>>>
>>>>>>
>>>>>>
>>>>>> I'm looking forward to your reply.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thomas
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> aspectj-users mailing list
>>>>>> aspectj-users@...
>>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> aspectj-users mailing list
>>>>> aspectj-users@...
>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>> _______________________________________________
>>>>> aspectj-users mailing list
>>>>> aspectj-users@...
>>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>>
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>> _______________________________________________
>>>> aspectj-users mailing list
>>>> aspectj-users@...
>>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>>
>>>
>>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

RE: Overall problem with AJDT performance

by thofmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi again,

with Xlint tunred off on all projects and zip3 I'm now down to 6:18 minutes! What a change...


Heres the AJDT trace:

21:44:34 Startup information:
   AJDT version: 2.0.1.e35x-20091001-1600 for Eclipse 3.5
   AspectJ Compiler version: 1.6.6
   usingVisualiser=true
   usingXref=true
   usingCUprovider=true
   promptForAutoOpenCrossReference = false
   org.eclipse.ajdt.internal.ui.tracing.checked.filters = set: Compiler,Builder
   ajde.version.at.previous.startup = @AJDEVERSION@
21:46:59 Compiler configuration for project com.dcx.ivkmds.fwk.common.spec.trace.aspectj doesn't know previous state, so assuming EVERYTHING has changed.
21:47:0 ===========================================================================================
21:47:0 Build kind = FULLBUILD
21:47:0 Project=com.dcx.ivkmds.fwk.common.spec.trace.aspectj, kind of build requested=Full AspectJ compilation
21:47:0 Timer event: 25ms: Flush included source file cache
21:47:0 Timer event: 0ms: Check delta
21:47:0 Builder: Tidied output folder(s), removed class files and derived resources
21:47:0 Timer event: 426ms: Pre compile
21:47:0 Compiler configuration for project com.dcx.ivkmds.fwk.common.spec.trace.aspectj has been read by compiler.  Resetting.
21:47:0      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

21:47:0 Resetting list of modified source files.  Was null
21:47:0 Preparing for build: not going to be incremental because no successful previous full build
21:47:1 Timer event: 836ms: Time to first compiled message
21:47:1 Timer event: 847ms: Time to first woven message
21:47:1 AspectJ reports build successful, build was: FULL
21:47:1 AJDE Callback: finish. Was full build: true
21:47:1 Timer event: 822ms: Total time spent in AJDE
21:47:1 Timer event: 0ms: Refresh after build
21:47:1 Types affected during build = 2
21:47:1 Timer event: 1583ms: Total time spent in AJBuilder.build()
21:47:1 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.common.spec.trace.aspectj
21:47:13 Compiler configuration for project com.dcx.ivkmds.fwk.common.ass.persist doesn't know previous state, so assuming EVERYTHING has changed.
21:47:13 ===========================================================================================
21:47:13 Build kind = FULLBUILD
21:47:13 Project=com.dcx.ivkmds.fwk.common.ass.persist, kind of build requested=Full AspectJ compilation
21:47:13 Timer event: 0ms: Flush included source file cache
21:47:13 Timer event: 0ms: Check delta
21:47:13 Builder: Tidied output folder(s), removed class files and derived resources
21:47:14 Timer event: 52ms: Pre compile
21:47:14 Compiler configuration for project com.dcx.ivkmds.fwk.common.ass.persist has been read by compiler.  Resetting.
21:47:14      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:47:14 Resetting list of modified source files.  Was null
21:47:14 Preparing for build: not going to be incremental because no successful previous full build
21:47:14 Timer event: 700ms: Time to first compiled message
21:47:14 Timer event: 815ms: Time to first woven message
21:47:15 AspectJ reports build successful, build was: FULL
21:47:15 AJDE Callback: finish. Was full build: true
21:47:15 Timer event: 1761ms: Total time spent in AJDE
21:47:15 Timer event: 0ms: Refresh after build
21:47:15 Types affected during build = 47
21:47:15 Timer event: 1823ms: Total time spent in AJBuilder.build()
21:47:15 Compiler configuration for project com.dcx.ivkmds.fwk.common.businessobjects.persistent doesn't know previous state, so assuming EVERYTHING has changed.
21:47:15 ===========================================================================================
21:47:15 Build kind = FULLBUILD
21:47:15 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.common.ass.persist
21:47:15 Project=com.dcx.ivkmds.fwk.common.businessobjects.persistent, kind of build requested=Full AspectJ compilation
21:47:15 Timer event: 0ms: Flush included source file cache
21:47:15 Timer event: 0ms: Check delta
21:47:15 Builder: Tidied output folder(s), removed class files and derived resources
21:47:15 Timer event: 110ms: Pre compile
21:47:16 Compiler configuration for project com.dcx.ivkmds.fwk.common.businessobjects.persistent has been read by compiler.  Resetting.
21:47:16      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:47:16 Resetting list of modified source files.  Was null
21:47:16 Preparing for build: not going to be incremental because no successful previous full build
21:47:16 Timer event: 176ms: Time to first compiled message
21:47:16 Timer event: 180ms: Time to first woven message
21:47:16 AspectJ reports build successful, build was: FULL
21:47:16 AJDE Callback: finish. Was full build: true
21:47:16 Timer event: 261ms: Total time spent in AJDE
21:47:16 Timer event: 0ms: Refresh after build
21:47:16 Types affected during build = 6
21:47:16 Timer event: 374ms: Total time spent in AJBuilder.build()
21:47:16 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.common.businessobjects.persistent
21:47:17 Compiler configuration for project com.dcx.ivkmds.fwk.rcs doesn't know previous state, so assuming EVERYTHING has changed.
21:47:17 ===========================================================================================
21:47:17 Build kind = FULLBUILD
21:47:17 Project=com.dcx.ivkmds.fwk.rcs, kind of build requested=Full AspectJ compilation
21:47:17 Timer event: 0ms: Flush included source file cache
21:47:17 Timer event: 0ms: Check delta
21:47:17 Builder: Tidied output folder(s), removed class files and derived resources
21:47:17 Timer event: 101ms: Pre compile
21:47:17 Compiler configuration for project com.dcx.ivkmds.fwk.rcs has been read by compiler.  Resetting.
21:47:17      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:47:17 Resetting list of modified source files.  Was null
21:47:17 Preparing for build: not going to be incremental because no successful previous full build
21:47:18 Timer event: 871ms: Time to first compiled message
21:47:18 Timer event: 904ms: Time to first woven message
21:47:22 AspectJ reports build successful, build was: FULL
21:47:22 AJDE Callback: finish. Was full build: true
21:47:22 Timer event: 4711ms: Total time spent in AJDE
21:47:22 Timer event: 0ms: Refresh after build
21:47:22 Types affected during build = 87
21:47:22 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.rcs
21:47:22 Timer event: 4857ms: Total time spent in AJBuilder.build()
21:47:22 Compiler configuration for project com.dcx.ivkmds.csolver.cts doesn't know previous state, so assuming EVERYTHING has changed.
21:47:22 ===========================================================================================
21:47:22 Build kind = FULLBUILD
21:47:22 Project=com.dcx.ivkmds.csolver.cts, kind of build requested=Full AspectJ compilation
21:47:22 Timer event: 0ms: Flush included source file cache
21:47:22 Timer event: 0ms: Check delta
21:47:22 Builder: Tidied output folder(s), removed class files and derived resources
21:47:22 Timer event: 259ms: Pre compile
21:47:22 Compiler configuration for project com.dcx.ivkmds.csolver.cts has been read by compiler.  Resetting.
21:47:22      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:47:22 Resetting list of modified source files.  Was null
21:47:22 Preparing for build: not going to be incremental because no successful previous full build
21:47:25 Timer event: 2710ms: Time to first compiled message
21:47:25 Timer event: 2813ms: Time to first woven message
21:47:49 AspectJ reports build successful, build was: FULL
21:47:49 AJDE Callback: finish. Was full build: true
21:47:49 Timer event: 27166ms: Total time spent in AJDE
21:47:49 Timer event: 0ms: Refresh after build
21:47:49 Types affected during build = 343
21:47:49 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.csolver.cts
21:47:49 Timer event: 27547ms: Total time spent in AJBuilder.build()
21:47:52 Compiler configuration for project com.dcx.ivkmds.common.businessobjects.persistent doesn't know previous state, so assuming EVERYTHING has changed.
21:47:52 ===========================================================================================
21:47:52 Build kind = FULLBUILD
21:47:52 Project=com.dcx.ivkmds.common.businessobjects.persistent, kind of build requested=Full AspectJ compilation
21:47:52 Timer event: 0ms: Flush included source file cache
21:47:52 Timer event: 0ms: Check delta
21:47:52 Builder: Tidied output folder(s), removed class files and derived resources
21:47:54 Timer event: 2069ms: Pre compile
21:47:54 Compiler configuration for project com.dcx.ivkmds.common.businessobjects.persistent has been read by compiler.  Resetting.
21:47:54      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:47:54 Resetting list of modified source files.  Was null
21:47:54 Preparing for build: not going to be incremental because no successful previous full build
21:47:55 Timer event: 1625ms: Time to first compiled message
21:47:55 Timer event: 1629ms: Time to first woven message
21:48:3 AspectJ reports build successful, build was: FULL
21:48:5 AJDE Callback: finish. Was full build: true
21:48:5 Timer event: 11514ms: Total time spent in AJDE
21:48:5 Timer event: 0ms: Refresh after build
21:48:5 Types affected during build = 326
21:48:5 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.common.businessobjects.persistent
21:48:5 Timer event: 13795ms: Total time spent in AJBuilder.build()
21:48:7 Compiler configuration for project com.dcx.ivkmds.common.businessobjects.fwktest doesn't know previous state, so assuming EVERYTHING has changed.
21:48:7 ===========================================================================================
21:48:7 Build kind = FULLBUILD
21:48:7 Project=com.dcx.ivkmds.common.businessobjects.fwktest, kind of build requested=Full AspectJ compilation
21:48:7 Timer event: 0ms: Flush included source file cache
21:48:7 Timer event: 0ms: Check delta
21:48:7 Builder: Tidied output folder(s), removed class files and derived resources
21:48:7 Timer event: 267ms: Pre compile
21:48:7 Compiler configuration for project com.dcx.ivkmds.common.businessobjects.fwktest has been read by compiler.  Resetting.
21:48:7      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

21:48:7 Resetting list of modified source files.  Was null
21:48:7 Preparing for build: not going to be incremental because no successful previous full build
21:48:8 Timer event: 456ms: Time to first compiled message
21:48:8 Timer event: 474ms: Time to first woven message
21:48:11 AspectJ reports build successful, build was: FULL
21:48:11 AJDE Callback: finish. Was full build: true
21:48:11 Timer event: 3639ms: Total time spent in AJDE
21:48:11 Timer event: 0ms: Refresh after build
21:48:11 Types affected during build = 32
21:48:11 Timer event: 3930ms: Total time spent in AJBuilder.build()
21:48:11 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.common.businessobjects.fwktest
21:49:9 Compiler configuration for project com.dcx.ivkmds.fwk.ass doesn't know previous state, so assuming EVERYTHING has changed.
21:49:9 ===========================================================================================
21:49:9 Build kind = FULLBUILD
21:49:9 Project=com.dcx.ivkmds.fwk.ass, kind of build requested=Full AspectJ compilation
21:49:9 Timer event: 0ms: Flush included source file cache
21:49:9 Timer event: 0ms: Check delta
21:49:9 Builder: Tidied output folder(s), removed class files and derived resources
21:49:10 Timer event: 193ms: Pre compile
21:49:10 Compiler configuration for project com.dcx.ivkmds.fwk.ass has been read by compiler.  Resetting.
21:49:10      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:49:10 Resetting list of modified source files.  Was null
21:49:10 Preparing for build: not going to be incremental because no successful previous full build
21:49:12 Timer event: 2459ms: Time to first compiled message
21:49:12 Timer event: 2647ms: Time to first woven message
21:49:18 AspectJ reports build successful, build was: FULL
21:49:18 AJDE Callback: finish. Was full build: true
21:49:18 Timer event: 8588ms: Total time spent in AJDE
21:49:18 Timer event: 0ms: Refresh after build
21:49:18 Types affected during build = 117
21:49:18 Timer event: 8796ms: Total time spent in AJBuilder.build()
21:49:18 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.ass
21:49:19 Compiler configuration for project com.dcx.ivkmds.application.ass doesn't know previous state, so assuming EVERYTHING has changed.
21:49:19 ===========================================================================================
21:49:19 Build kind = FULLBUILD
21:49:19 Project=com.dcx.ivkmds.application.ass, kind of build requested=Full AspectJ compilation
21:49:19 Timer event: 0ms: Flush included source file cache
21:49:19 Timer event: 0ms: Check delta
21:49:19 Builder: Tidied output folder(s), removed class files and derived resources
21:49:20 Timer event: 1191ms: Pre compile
21:49:21 Compiler configuration for project com.dcx.ivkmds.application.ass has been read by compiler.  Resetting.
21:49:21      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:49:21 Resetting list of modified source files.  Was null
21:49:21 Preparing for build: not going to be incremental because no successful previous full build
21:49:24 Timer event: 3997ms: Time to first compiled message
21:49:25 Timer event: 4035ms: Time to first woven message
21:49:51 AspectJ reports build successful, build was: FULL
21:49:52 AJDE Callback: finish. Was full build: true
21:49:52 Timer event: 31460ms: Total time spent in AJDE
21:49:52 Timer event: 0ms: Refresh after build
21:49:52 Types affected during build = 292
21:49:52 Timer event: 32697ms: Total time spent in AJBuilder.build()
21:49:52 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.application.ass
21:49:52 Compiler configuration for project com.dcx.ivkmds.csolver.ass doesn't know previous state, so assuming EVERYTHING has changed.
21:49:52 ===========================================================================================
21:49:52 Build kind = FULLBUILD
21:49:52 Project=com.dcx.ivkmds.csolver.ass, kind of build requested=Full AspectJ compilation
21:49:52 Timer event: 0ms: Flush included source file cache
21:49:52 Timer event: 0ms: Check delta
21:49:52 Builder: Tidied output folder(s), removed class files and derived resources
21:49:53 Timer event: 520ms: Pre compile
21:49:53 Compiler configuration for project com.dcx.ivkmds.csolver.ass has been read by compiler.  Resetting.
21:49:53      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:49:53 Resetting list of modified source files.  Was null
21:49:53 Preparing for build: not going to be incremental because no successful previous full build
21:49:56 Timer event: 3001ms: Time to first compiled message
21:49:56 Timer event: 3146ms: Time to first woven message
21:50:15 AspectJ reports build successful, build was: FULL
21:50:16 AJDE Callback: finish. Was full build: true
21:50:16 Timer event: 22950ms: Total time spent in AJDE
21:50:16 Timer event: 0ms: Refresh after build
21:50:16 Types affected during build = 83
21:50:16 Timer event: 23483ms: Total time spent in AJBuilder.build()
21:50:16 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.csolver.ass
21:50:27 Compiler configuration for project com.dcx.ivkmds._45_export_import.ass doesn't know previous state, so assuming EVERYTHING has changed.
21:50:27 ===========================================================================================
21:50:27 Build kind = FULLBUILD
21:50:27 Project=com.dcx.ivkmds._45_export_import.ass, kind of build requested=Full AspectJ compilation
21:50:27 Timer event: 0ms: Flush included source file cache
21:50:27 Timer event: 0ms: Check delta
21:50:27 Builder: Tidied output folder(s), removed class files and derived resources
21:50:28 Timer event: 324ms: Pre compile
21:50:28 Compiler configuration for project com.dcx.ivkmds._45_export_import.ass has been read by compiler.  Resetting.
21:50:28      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:50:28 Resetting list of modified source files.  Was null
21:50:28 Preparing for build: not going to be incremental because no successful previous full build
21:50:35 Timer event: 7859ms: Time to first compiled message
21:50:35 Timer event: 7883ms: Time to first woven message
21:51:3 AspectJ reports build successful, build was: FULL
21:51:3 AJDE Callback: finish. Was full build: true
21:51:3 Timer event: 35654ms: Total time spent in AJDE
21:51:3 Timer event: 0ms: Refresh after build
21:51:3 Types affected during build = 425
21:51:3 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds._45_export_import.ass
21:51:3 Timer event: 36069ms: Total time spent in AJBuilder.build()
21:51:13 Compiler configuration for project com.dcx.ivkmds._00_fwktest.ass doesn't know previous state, so assuming EVERYTHING has changed.
21:51:13 ===========================================================================================
21:51:13 Build kind = FULLBUILD
21:51:13 Project=com.dcx.ivkmds._00_fwktest.ass, kind of build requested=Full AspectJ compilation
21:51:13 Timer event: 0ms: Flush included source file cache
21:51:13 Timer event: 0ms: Check delta
21:51:13 Builder: Tidied output folder(s), removed class files and derived resources
21:51:13 Timer event: 170ms: Pre compile
21:51:13 Compiler configuration for project com.dcx.ivkmds._00_fwktest.ass has been read by compiler.  Resetting.
21:51:13      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:51:13 Resetting list of modified source files.  Was null
21:51:13 Preparing for build: not going to be incremental because no successful previous full build
21:51:14 Timer event: 444ms: Time to first compiled message
21:51:14 Timer event: 554ms: Time to first woven message
21:51:14 AspectJ reports build successful, build was: FULL
21:51:14 AJDE Callback: finish. Was full build: true
21:51:14 Timer event: 1208ms: Total time spent in AJDE
21:51:14 Timer event: 0ms: Refresh after build
21:51:14 Types affected during build = 4
21:51:14 Timer event: 1382ms: Total time spent in AJBuilder.build()
21:51:14 Compiler configuration for project com.dcx.ivkmds.csolver.cts.standalone doesn't know previous state, so assuming EVERYTHING has changed.
21:51:14 ===========================================================================================
21:51:14 Build kind = FULLBUILD
21:51:14 Project=com.dcx.ivkmds.csolver.cts.standalone, kind of build requested=Full AspectJ compilation
21:51:14 Timer event: 0ms: Flush included source file cache
21:51:14 Timer event: 0ms: Check delta
21:51:14 Builder: Tidied output folder(s), removed class files and derived resources
21:51:15 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds._00_fwktest.ass
21:51:15 Timer event: 275ms: Pre compile
21:51:15 Compiler configuration for project com.dcx.ivkmds.csolver.cts.standalone has been read by compiler.  Resetting.
21:51:15      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:51:15 Resetting list of modified source files.  Was null
21:51:15 Preparing for build: not going to be incremental because no successful previous full build
21:51:15 Timer event: 693ms: Time to first compiled message
21:51:15 Timer event: 709ms: Time to first woven message
21:51:16 AspectJ reports build successful, build was: FULL
21:51:16 AJDE Callback: finish. Was full build: true
21:51:16 Timer event: 1672ms: Total time spent in AJDE
21:51:16 Timer event: 0ms: Refresh after build
21:51:16 Types affected during build = 17
21:51:16 Timer event: 1954ms: Total time spent in AJBuilder.build()
21:51:16 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.csolver.cts.standalone
21:51:17 Compiler configuration for project com.dcx.ivkmds.application.rcs.standalone doesn't know previous state, so assuming EVERYTHING has changed.
21:51:17 ===========================================================================================
21:51:17 Build kind = FULLBUILD
21:51:17 Project=com.dcx.ivkmds.application.rcs.standalone, kind of build requested=Full AspectJ compilation
21:51:17 Timer event: 0ms: Flush included source file cache
21:51:17 Timer event: 0ms: Check delta
21:51:17 Builder: Tidied output folder(s), removed class files and derived resources
21:51:17 Timer event: 193ms: Pre compile
21:51:17 Compiler configuration for project com.dcx.ivkmds.application.rcs.standalone has been read by compiler.  Resetting.
21:51:17      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:51:17 Resetting list of modified source files.  Was null
21:51:17 Preparing for build: not going to be incremental because no successful previous full build
21:51:18 Timer event: 692ms: Time to first compiled message
21:51:18 Timer event: 694ms: Time to first woven message
21:51:18 AspectJ reports build successful, build was: FULL
21:51:18 AJDE Callback: finish. Was full build: true
21:51:18 Timer event: 1115ms: Total time spent in AJDE
21:51:18 Timer event: 0ms: Refresh after build
21:51:18 Types affected during build = 9
21:51:18 Timer event: 1320ms: Total time spent in AJBuilder.build()
21:51:18 Compiler configuration for project com.dcx.ivkmds.testfwk doesn't know previous state, so assuming EVERYTHING has changed.
21:51:18 ===========================================================================================
21:51:18 Build kind = FULLBUILD
21:51:18 Project=com.dcx.ivkmds.testfwk, kind of build requested=Full AspectJ compilation
21:51:18 Timer event: 0ms: Flush included source file cache
21:51:18 Timer event: 0ms: Check delta
21:51:18 Builder: Tidied output folder(s), removed class files and derived resources
21:51:18 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.application.rcs.standalone
21:51:19 Timer event: 958ms: Pre compile
21:51:19 Compiler configuration for project com.dcx.ivkmds.testfwk has been read by compiler.  Resetting.
21:51:19      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:51:19 Resetting list of modified source files.  Was null
21:51:19 Preparing for build: not going to be incremental because no successful previous full build
21:51:23 Timer event: 3992ms: Time to first compiled message
21:51:23 Timer event: 4140ms: Time to first woven message
21:51:25 AspectJ reports build successful, build was: FULL
21:51:25 AJDE Callback: finish. Was full build: true
21:51:25 Timer event: 6233ms: Total time spent in AJDE
21:51:25 Timer event: 0ms: Refresh after build
21:51:25 Types affected during build = 45
21:51:25 Timer event: 7220ms: Total time spent in AJBuilder.build()
21:51:25 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.testfwk
21:51:25 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
21:51:25 ===========================================================================================
21:51:25 Build kind = FULLBUILD
21:51:25 Project=com.dcx.ivkmds.fwk.test.ass, kind of build requested=Full AspectJ compilation
21:51:25 Timer event: 0ms: Flush included source file cache
21:51:25 Timer event: 0ms: Check delta
21:51:25 Builder: Tidied output folder(s), removed class files and derived resources
21:51:26 Timer event: 171ms: Pre compile
21:51:26 Compiler configuration for project com.dcx.ivkmds.fwk.test.ass has been read by compiler.  Resetting.
21:51:26      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:51:26 Resetting list of modified source files.  Was null
21:51:26 Preparing for build: not going to be incremental because no successful previous full build
21:51:26 Timer event: 778ms: Time to first compiled message
21:51:27 Timer event: 997ms: Time to first woven message
21:51:37 AspectJ reports build successful, build was: FULL
21:51:37 AJDE Callback: finish. Was full build: true
21:51:37 Timer event: 11048ms: Total time spent in AJDE
21:51:37 Timer event: 0ms: Refresh after build
21:51:37 Types affected during build = 24
21:51:37 Timer event: 11242ms: Total time spent in AJBuilder.build()
21:51:37 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.ass
21:51:37 Compiler configuration for project com.dcx.ivkmds.fwk.test.rcs doesn't know previous state, so assuming EVERYTHING has changed.
21:51:37 ===========================================================================================
21:51:37 Build kind = FULLBUILD
21:51:37 Project=com.dcx.ivkmds.fwk.test.rcs, kind of build requested=Full AspectJ compilation
21:51:37 Timer event: 0ms: Flush included source file cache
21:51:37 Timer event: 1ms: Check delta
21:51:37 Builder: Tidied output folder(s), removed class files and derived resources
21:51:37 Timer event: 150ms: Pre compile
21:51:37 Compiler configuration for project com.dcx.ivkmds.fwk.test.rcs has been read by compiler.  Resetting.
21:51:37      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:51:37 Resetting list of modified source files.  Was null
21:51:37 Preparing for build: not going to be incremental because no successful previous full build
21:51:37 Timer event: 462ms: Time to first compiled message
21:51:37 Timer event: 494ms: Time to first woven message
21:51:38 AspectJ reports build successful, build was: FULL
21:51:38 AJDE Callback: finish. Was full build: true
21:51:38 Timer event: 1352ms: Total time spent in AJDE
21:51:38 Timer event: 0ms: Refresh after build
21:51:38 Types affected during build = 4
21:51:38 Timer event: 1510ms: Total time spent in AJBuilder.build()
21:51:38 Compiler configuration for project com.dcx.ivkmds.fwk.test.common doesn't know previous state, so assuming EVERYTHING has changed.
21:51:38 ===========================================================================================
21:51:38 Build kind = FULLBUILD
21:51:38 Project=com.dcx.ivkmds.fwk.test.common, kind of build requested=Full AspectJ compilation
21:51:38 Timer event: 0ms: Flush included source file cache
21:51:38 Timer event: 0ms: Check delta
21:51:38 Builder: Tidied output folder(s), removed class files and derived resources
21:51:38 Timer event: 107ms: Pre compile
21:51:38 Compiler configuration for project com.dcx.ivkmds.fwk.test.common has been read by compiler.  Resetting.
21:51:38      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:51:38 Resetting list of modified source files.  Was null
21:51:38 Preparing for build: not going to be incremental because no successful previous full build
21:51:38 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.rcs
21:51:39 Timer event: 315ms: Time to first compiled message
21:51:39 Timer event: 316ms: Time to first woven message
21:51:39 AspectJ reports build successful, build was: FULL
21:51:39 AJDE Callback: finish. Was full build: true
21:51:39 Timer event: 404ms: Total time spent in AJDE
21:51:39 Timer event: 0ms: Refresh after build
21:51:39 Types affected during build = 2
21:51:39 Timer event: 517ms: Total time spent in AJBuilder.build()
21:51:39 Compiler configuration for project com.dcx.ivkmds.csolver.test.cts doesn't know previous state, so assuming EVERYTHING has changed.
21:51:39 ===========================================================================================
21:51:39 Build kind = FULLBUILD
21:51:39 Project=com.dcx.ivkmds.csolver.test.cts, kind of build requested=Full AspectJ compilation
21:51:39 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.fwk.test.common
21:51:39 Timer event: 0ms: Flush included source file cache
21:51:39 Timer event: 0ms: Check delta
21:51:39 Builder: Tidied output folder(s), removed class files and derived resources
21:51:39 Timer event: 246ms: Pre compile
21:51:39 Compiler configuration for project com.dcx.ivkmds.csolver.test.cts has been read by compiler.  Resetting.
21:51:39      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:51:39 Resetting list of modified source files.  Was null
21:51:39 Preparing for build: not going to be incremental because no successful previous full build
21:51:40 Timer event: 709ms: Time to first compiled message
21:51:40 Timer event: 737ms: Time to first woven message
21:51:40 AspectJ reports build successful, build was: FULL
21:51:41 AJDE Callback: finish. Was full build: true
21:51:41 Timer event: 1563ms: Total time spent in AJDE
21:51:41 Timer event: 0ms: Refresh after build
21:51:41 Types affected during build = 12
21:51:41 Timer event: 1817ms: Total time spent in AJBuilder.build()
21:51:41 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.csolver.test.cts
21:51:41 Compiler configuration for project com.dcx.ivkmds.application.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
21:51:41 ===========================================================================================
21:51:41 Build kind = FULLBUILD
21:51:41 Project=com.dcx.ivkmds.application.test.ass, kind of build requested=Full AspectJ compilation
21:51:41 Timer event: 0ms: Flush included source file cache
21:51:41 Timer event: 0ms: Check delta
21:51:41 Builder: Tidied output folder(s), removed class files and derived resources
21:51:42 Timer event: 986ms: Pre compile
21:51:42 Compiler configuration for project com.dcx.ivkmds.application.test.ass has been read by compiler.  Resetting.
21:51:42      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:51:42 Resetting list of modified source files.  Was null
21:51:42 Preparing for build: not going to be incremental because no successful previous full build
21:51:45 Timer event: 3285ms: Time to first compiled message
21:51:45 Timer event: 3348ms: Time to first woven message
21:51:56 AspectJ reports build successful, build was: FULL
21:51:57 AJDE Callback: finish. Was full build: true
21:51:57 Timer event: 14977ms: Total time spent in AJDE
21:51:57 Timer event: 1ms: Refresh after build
21:51:57 Types affected during build = 152
21:51:57 Timer event: 16369ms: Total time spent in AJBuilder.build()
21:51:57 Compiler configuration for project com.dcx.ivkmds.csolver.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
21:51:57 ===========================================================================================
21:51:57 Build kind = FULLBUILD
21:51:57 Project=com.dcx.ivkmds.csolver.test.ass, kind of build requested=Full AspectJ compilation
21:51:57 Timer event: 0ms: Flush included source file cache
21:51:57 Timer event: 0ms: Check delta
21:51:57 Builder: Tidied output folder(s), removed class files and derived resources
21:51:57 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.application.test.ass
21:51:57 Timer event: 197ms: Pre compile
21:51:57 Compiler configuration for project com.dcx.ivkmds.csolver.test.ass has been read by compiler.  Resetting.
21:51:57      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]
21:51:57 Resetting list of modified source files.  Was null
21:51:57 Preparing for build: not going to be incremental because no successful previous full build
21:51:59 Timer event: 1397ms: Time to first compiled message
21:51:59 Timer event: 1587ms: Time to first woven message
21:52:4 AspectJ reports build successful, build was: FULL
21:52:4 AJDE Callback: finish. Was full build: true
21:52:4 Timer event: 7233ms: Total time spent in AJDE
21:52:4 Timer event: 0ms: Refresh after build
21:52:4 Types affected during build = 31
21:52:4 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.csolver.test.ass
21:52:4 Timer event: 7508ms: Total time spent in AJBuilder.build()
21:52:5 Compiler configuration for project com.dcx.ivkmds.application.test.rcs.standalone doesn't know previous state, so assuming EVERYTHING has changed.
21:52:5 ===========================================================================================
21:52:5 Build kind = FULLBUILD
21:52:5 Project=com.dcx.ivkmds.application.test.rcs.standalone, kind of build requested=Full AspectJ compilation
21:52:5 Timer event: 0ms: Flush included source file cache
21:52:5 Timer event: 0ms: Check delta
21:52:5 Builder: Tidied output folder(s), removed class files and derived resources
21:52:5 Timer event: 93ms: Pre compile
21:52:5 Compiler configuration for project com.dcx.ivkmds.application.test.rcs.standalone has been read by compiler.  Resetting.
21:52:5      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

21:52:5 Resetting list of modified source files.  Was null
21:52:5 Preparing for build: not going to be incremental because no successful previous full build
21:52:5 Timer event: 352ms: Time to first compiled message
21:52:5 AspectJ reports build successful, build was: FULL
21:52:5 AJDE Callback: finish. Was full build: true
21:52:5 Timer event: 379ms: Total time spent in AJDE
21:52:5 Timer event: 0ms: Refresh after build
21:52:5 Types affected during build = 1
21:52:5 Timer event: 485ms: Total time spent in AJBuilder.build()
21:52:5 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.application.test.rcs.standalone
21:52:5 Compiler configuration for project com.dcx.ivkmds.application.test.common doesn't know previous state, so assuming EVERYTHING has changed.
21:52:5 ===========================================================================================
21:52:5 Build kind = FULLBUILD
21:52:5 Project=com.dcx.ivkmds.application.test.common, kind of build requested=Full AspectJ compilation
21:52:5 Timer event: 0ms: Flush included source file cache
21:52:5 Timer event: 0ms: Check delta
21:52:5 Builder: Tidied output folder(s), removed class files and derived resources
21:52:5 Timer event: 97ms: Pre compile
21:52:5 Compiler configuration for project com.dcx.ivkmds.application.test.common has been read by compiler.  Resetting.
21:52:5      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

21:52:5 Resetting list of modified source files.  Was null
21:52:5 Preparing for build: not going to be incremental because no successful previous full build
21:52:6 Timer event: 406ms: Time to first compiled message
21:52:6 Timer event: 415ms: Time to first woven message
21:52:6 AspectJ reports build successful, build was: FULL
21:52:6 AJDE Callback: finish. Was full build: true
21:52:6 Timer event: 444ms: Total time spent in AJDE
21:52:6 Timer event: 0ms: Refresh after build
21:52:6 Types affected during build = 1
21:52:6 Timer event: 552ms: Total time spent in AJBuilder.build()
21:52:6 Compiler configuration for project com.dcx.ivkmds._55_archive.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
21:52:6 ===========================================================================================
21:52:6 Build kind = FULLBUILD
21:52:6 Project=com.dcx.ivkmds._55_archive.test.ass, kind of build requested=Full AspectJ compilation
21:52:6 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds.application.test.common
21:52:6 Timer event: 0ms: Flush included source file cache
21:52:6 Timer event: 0ms: Check delta
21:52:6 Builder: Tidied output folder(s), removed class files and derived resources
21:52:6 Timer event: 108ms: Pre compile
21:52:6 Compiler configuration for project com.dcx.ivkmds._55_archive.test.ass has been read by compiler.  Resetting.
21:52:6      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

21:52:6 Resetting list of modified source files.  Was null
21:52:6 Preparing for build: not going to be incremental because no successful previous full build
21:52:6 Timer event: 460ms: Time to first compiled message
21:52:6 Timer event: 483ms: Time to first woven message
21:52:6 AspectJ reports build successful, build was: FULL
21:52:6 AJDE Callback: finish. Was full build: true
21:52:6 Timer event: 619ms: Total time spent in AJDE
21:52:6 Timer event: 0ms: Refresh after build
21:52:6 Types affected during build = 2
21:52:6 Timer event: 740ms: Total time spent in AJBuilder.build()
21:52:6 Compiler configuration for project com.dcx.ivkmds._50_reports.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
21:52:6 ===========================================================================================
21:52:6 Build kind = FULLBUILD
21:52:6 Project=com.dcx.ivkmds._50_reports.test.ass, kind of build requested=Full AspectJ compilation
21:52:6 Timer event: 0ms: Flush included source file cache
21:52:6 Timer event: 0ms: Check delta
21:52:6 Builder: Tidied output folder(s), removed class files and derived resources
21:52:7 Timer event: 251ms: Pre compile
21:52:7 Compiler configuration for project com.dcx.ivkmds._50_reports.test.ass has been read by compiler.  Resetting.
21:52:7      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

21:52:7 Resetting list of modified source files.  Was null
21:52:7 Preparing for build: not going to be incremental because no successful previous full build
21:52:7 Timer event: 1ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds._55_archive.test.ass
21:52:7 Timer event: 499ms: Time to first compiled message
21:52:7 Timer event: 589ms: Time to first woven message
21:52:7 AspectJ reports build successful, build was: FULL
21:52:7 AJDE Callback: finish. Was full build: true
21:52:7 Timer event: 684ms: Total time spent in AJDE
21:52:7 Timer event: 0ms: Refresh after build
21:52:7 Types affected during build = 1
21:52:7 Timer event: 953ms: Total time spent in AJBuilder.build()
21:52:7 Compiler configuration for project com.dcx.ivkmds._45_export_import.test.ass doesn't know previous state, so assuming EVERYTHING has changed.
21:52:7 ===========================================================================================
21:52:7 Build kind = FULLBUILD
21:52:7 Project=com.dcx.ivkmds._45_export_import.test.ass, kind of build requested=Full AspectJ compilation
21:52:7 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds._50_reports.test.ass
21:52:7 Timer event: 0ms: Flush included source file cache
21:52:7 Timer event: 0ms: Check delta
21:52:7 Builder: Tidied output folder(s), removed class files and derived resources
21:52:9 Timer event: 1679ms: Pre compile
21:52:9 Compiler configuration for project com.dcx.ivkmds._45_export_import.test.ass has been read by compiler.  Resetting.
21:52:9      Configuration was [PROJECTSOURCEFILES_CHANGED, JAVAOPTIONS_CHANGED, ASPECTPATH_CHANGED, CLASSPATH_CHANGED, INPATH_CHANGED, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, PROJECTSOURCERESOURCES_CHANGED, OUTPUTDESTINATIONS_CHANGED, INJARS_CHANGED]

21:52:9 Resetting list of modified source files.  Was null
21:52:9 Preparing for build: not going to be incremental because no successful previous full build
21:52:10 Timer event: 1020ms: Time to first compiled message
21:52:10 Timer event: 1040ms: Time to first woven message
21:52:11 AspectJ reports build successful, build was: FULL
21:52:11 AJDE Callback: finish. Was full build: true
21:52:11 Timer event: 2172ms: Total time spent in AJDE
21:52:11 Timer event: 0ms: Refresh after build
21:52:11 Types affected during build = 25
21:52:11 Timer event: 3873ms: Total time spent in AJBuilder.build()
21:52:11 Timer event: 0ms: Update visualizer, xref, advice listeners for (separate thread): com.dcx.ivkmds._45_export_import.test.ass
21:52:15 Timer event: 44ms: Delete markers: com.dcx.ivkmds.fwk.common.businessobjects.persistent (Finished deleting markers for com.dcx.ivkmds.fwk.common.businessobjects.persistent)
21:52:15 Timer event: 43ms: Create markers: com.dcx.ivkmds.fwk.common.businessobjects.persistent (Finished creating markers for com.dcx.ivkmds.fwk.common.businessobjects.persistent)
21:52:15 Created 0 markers in 6 files
21:52:15 Timer event: 88ms: Delete markers: com.dcx.ivkmds.csolver.test.ass (Finished deleting markers for com.dcx.ivkmds.csolver.test.ass)
21:52:15 Timer event: 92ms: Delete markers: com.dcx.ivkmds.csolver.ass (Finished deleting markers for com.dcx.ivkmds.csolver.ass)
21:52:15 Timer event: 108ms: Delete markers: com.dcx.ivkmds.fwk.common.spec.trace.aspectj (Finished deleting markers for com.dcx.ivkmds.fwk.common.spec.trace.aspectj)
21:52:15 Timer event: 0ms: Create markers: com.dcx.ivkmds.fwk.common.spec.trace.aspectj (Finished creating markers for com.dcx.ivkmds.fwk.common.spec.trace.aspectj)
21:52:15 Created 0 markers in 2 files
21:52:15 Timer event: 116ms: Delete markers: com.dcx.ivkmds.fwk.ass (Finished deleting markers for com.dcx.ivkmds.fwk.ass)
21:52:15 Timer event: 117ms: Delete markers: com.dcx.ivkmds.fwk.common.ass.persist (Finished deleting markers for com.dcx.ivkmds.fwk.common.ass.persist)
21:52:15 Timer event: 119ms: Delete markers: com.dcx.ivkmds.fwk.rcs (Finished deleting markers for com.dcx.ivkmds.fwk.rcs)
21:52:15 Timer event: 119ms: Delete markers: com.dcx.ivkmds._00_fwktest.ass (Finished deleting markers for com.dcx.ivkmds._00_fwktest.ass)
21:52:15 Timer event: 106ms: Delete markers: com.dcx.ivkmds.application.test.ass (Finished deleting markers for com.dcx.ivkmds.application.test.ass)
21:52:15 Timer event: 109ms: Delete markers: com.dcx.ivkmds.fwk.test.rcs (Finished deleting markers for com.dcx.ivkmds.fwk.test.rcs)
21:52:15 Timer event: 116ms: Delete markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished deleting markers for com.dcx.ivkmds.common.businessobjects.fwktest)
21:52:23 Timer event: 8410ms: Create markers: com.dcx.ivkmds.fwk.test.rcs (Finished creating markers for com.dcx.ivkmds.fwk.test.rcs)
21:52:23 Created 44 markers in 4 files
21:52:25 Timer event: 9931ms: Create markers: com.dcx.ivkmds.fwk.common.ass.persist (Finished creating markers for com.dcx.ivkmds.fwk.common.ass.persist)
21:52:25 Created 55 markers in 47 files
21:52:25 Timer event: 10246ms: Create markers: com.dcx.ivkmds.fwk.rcs (Finished creating markers for com.dcx.ivkmds.fwk.rcs)
21:52:25 Created 57 markers in 87 files
21:52:29 Timer event: 14487ms: Create markers: com.dcx.ivkmds.csolver.ass (Finished creating markers for com.dcx.ivkmds.csolver.ass)
21:52:29 Created 98 markers in 83 files
21:52:30 Timer event: 15601ms: Create markers: com.dcx.ivkmds.common.businessobjects.fwktest (Finished creating markers for com.dcx.ivkmds.common.businessobjects.fwktest)
21:52:30 Created 111 markers in 32 files
21:52:34 Timer event: 18858ms: Create markers: com.dcx.ivkmds.fwk.ass (Finished creating markers for com.dcx.ivkmds.fwk.ass)
21:52:34 Created 160 markers in 117 files
21:52:34 Timer event: 19542ms: Create markers: com.dcx.ivkmds.csolver.test.ass (Finished creating markers for com.dcx.ivkmds.csolver.test.ass)
21:52:34 Created 174 markers in 31 files
21:52:34 Timer event: 19685ms: Create markers: com.dcx.ivkmds._00_fwktest.ass (Finished creating markers for com.dcx.ivkmds._00_fwktest.ass)
21:52:34 Created 179 markers in 4 files
21:52:44 Timer event: 29540ms: Create markers: com.dcx.ivkmds.application.test.ass (Finished creating markers for com.dcx.ivkmds.application.test.ass)
21:52:44 Created 818 markers in 152 files
21:52:44 Timer event: 1ms: Delete markers: com.dcx.ivkmds._45_export_import.test.ass (Finished deleting markers for com.dcx.ivkmds._45_export_import.test.ass)
21:52:44 Timer event: 0ms: Delete markers: com.dcx.ivkmds.fwk.test.common (Finished deleting markers for com.dcx.ivkmds.fwk.test.common)
21:52:44 Timer event: 1ms: Create markers: com.dcx.ivkmds.fwk.test.common (Finished creating markers for com.dcx.ivkmds.fwk.test.common)
21:52:44 Created 0 markers in 2 files
21:52:44 Timer event: 1ms: Delete markers: com.dcx.ivkmds._45_export_import.ass (Finished deleting markers for com.dcx.ivkmds._45_export_import.ass)
21:52:44 Timer event: 42ms: Delete markers: com.dcx.ivkmds._50_reports.test.ass (Finished deleting markers for com.dcx.ivkmds._50_reports.test.ass)
21:52:44 Timer event: 181ms: Create markers: com.dcx.ivkmds._50_reports.test.ass (Finished creating markers for com.dcx.ivkmds._50_reports.test.ass)
21:52:44 Created 4 markers in 1 files
21:52:45 Timer event: 451ms: Create markers: com.dcx.ivkmds._45_export_import.ass (Finished creating markers for com.dcx.ivkmds._45_export_import.ass)
21:52:45 Created 14 markers in 425 files
21:52:45 Timer event: 925ms: Create markers: com.dcx.ivkmds._45_export_import.test.ass (Finished creating markers for com.dcx.ivkmds._45_export_import.test.ass)
21:52:45 Created 53 markers in 25 files
21:52:49 Timer event: 24ms: Delete markers: com.dcx.ivkmds.csolver.test.cts (Finished deleting markers for com.dcx.ivkmds.csolver.test.cts)
21:52:49 Timer event: 34ms: Delete markers: com.dcx.ivkmds.application.test.rcs.standalone (Finished deleting markers for com.dcx.ivkmds.application.test.rcs.standalone)
21:52:49 Timer event: 0ms: Create markers: com.dcx.ivkmds.application.test.rcs.standalone (Finished creating markers for com.dcx.ivkmds.application.test.rcs.standalone)
21:52:49 Created 0 markers in 1 files
21:52:49 Timer event: 35ms: Delete markers: com.dcx.ivkmds.application.rcs.standalone (Finished deleting markers for com.dcx.ivkmds.application.rcs.standalone)
21:52:49 Timer event: 37ms: Delete markers: com.dcx.ivkmds._55_archive.test.ass (Finished deleting markers for com.dcx.ivkmds._55_archive.test.ass)
21:52:49 Timer event: 45ms: Delete markers: com.dcx.ivkmds.application.test.common (Finished deleting markers for com.dcx.ivkmds.application.test.common)
21:52:49 Timer event: 0ms: Create markers: com.dcx.ivkmds.application.test.common (Finished creating markers for com.dcx.ivkmds.application.test.common)
21:52:49 Created 0 markers in 1 files
21:52:49 Timer event: 46ms: Delete markers: com.dcx.ivkmds.csolver.cts (Finished deleting markers for com.dcx.ivkmds.csolver.cts)
21:52:49 Timer event: 47ms: Delete markers: com.dcx.ivkmds.csolver.cts.standalone (Finished deleting markers for com.dcx.ivkmds.csolver.cts.standalone)
21:52:49 Timer event: 56ms: Delete markers: com.dcx.ivkmds.testfwk (Finished deleting markers for com.dcx.ivkmds.testfwk)
21:52:49 Timer event: 61ms: Delete markers: com.dcx.ivkmds.common.businessobjects.persistent (Finished deleting markers for com.dcx.ivkmds.common.businessobjects.persistent)
21:52:49 Timer event: 65ms: Delete markers: com.dcx.ivkmds.fwk.test.ass (Finished deleting markers for com.dcx.ivkmds.fwk.test.ass)
21:52:49 Timer event: 72ms: Delete markers: com.dcx.ivkmds.application.ass (Finished deleting markers for com.dcx.ivkmds.application.ass)
21:52:49 Timer event: 455ms: Create markers: com.dcx.ivkmds.application.rcs.standalone (Finished creating markers for com.dcx.ivkmds.application.rcs.standalone)
21:52:49 Created 2 markers in 9 files
21:52:50 Timer event: 1365ms: Create markers: com.dcx.ivkmds.csolver.cts.standalone (Finished creating markers for com.dcx.ivkmds.csolver.cts.standalone)
21:52:50 Created 7 markers in 17 files
21:52:51 Timer event: 1813ms: Create markers: com.dcx.ivkmds._55_archive.test.ass (Finished creating markers for com.dcx.ivkmds._55_archive.test.ass)
21:52:51 Created 12 markers in 2 files
21:52:52 Timer event: 3142ms: Create markers: com.dcx.ivkmds.csolver.test.cts (Finished creating markers for com.dcx.ivkmds.csolver.test.cts)
21:52:52 Created 30 markers in 12 files
21:52:55 Timer event: 6623ms: Create markers: com.dcx.ivkmds.testfwk (Finished creating markers for com.dcx.ivkmds.testfwk)
21:52:55 Created 93 markers in 45 files
21:52:57 Timer event: 8536ms: Create markers: com.dcx.ivkmds.csolver.cts (Finished creating markers for com.dcx.ivkmds.csolver.cts)
21:52:57 Created 134 markers in 343 files
21:53:2 Timer event: 12652ms: Create markers: com.dcx.ivkmds.fwk.test.ass (Finished creating markers for com.dcx.ivkmds.fwk.test.ass)
21:53:2 Created 572 markers in 24 files
21:53:12 Timer event: 23494ms: Create markers: com.dcx.ivkmds.common.businessobjects.persistent (Finished creating markers for com.dcx.ivkmds.common.businessobjects.persistent)
21:53:12 Created 996 markers in 326 files
21:53:18 Timer event: 28932ms: Create markers: com.dcx.ivkmds.application.ass (Finished creating markers for com.dcx.ivkmds.application.ass)
21:53:18 Created 2615 markers in 292 files


And the timings along with some errors in AJDT:

Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=3ms
> weaving classes=1ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 1ms
> weaving normal itds=0ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 0ms
shadowWeaving = 0ms
postWeave = 0ms
Total =0ms

Kinded pointcut matchInternal(): 0ms
Kinded pointcut match calls: 0
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 0ms

Timing: time spent in pipeline weaving: 18ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=20ms
> weaving classes=146ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 6ms
> weaving normal itds=8ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 1ms
typeWeaving = 11ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 46ms
shadowWeaving = 14ms
postWeave = 4ms
Total =79ms

Kinded pointcut matchInternal(): 17ms
Kinded pointcut match calls: 2786
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 0ms

Timing: time spent in pipeline weaving: 495ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=12ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 0ms
> weaving normal itds=0ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 6ms
shadowWeaving = 0ms
postWeave = 0ms
Total =6ms

Kinded pointcut matchInternal(): 2ms
Kinded pointcut match calls: 462
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 0ms

Timing: time spent in pipeline weaving: 36ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=36ms
> weaving classes=560ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 30ms
> weaving normal itds=27ms
> weaving structural itds=3ms

Breakdown of time spent in type weaver instances:
class prep = 2ms
typeWeaving = 47ms
decaWeaving = 0ms
fastShadowMatching = 2ms
shadowMatching = 327ms
shadowWeaving = 26ms
postWeave = 7ms
Total =414ms

Kinded pointcut matchInternal(): 120ms
Kinded pointcut match calls: 3098
Kinded pointcut xlinttime: 2ms
ThisTarget pointcut matchInternal: 16ms

Timing: time spent in pipeline weaving: 1655ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=2ms
> verifying consistency=4ms
> weaving aspects=63ms
> weaving classes=15164ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 76ms
> weaving normal itds=55ms
> weaving structural itds=6ms

Breakdown of time spent in type weaver instances:
class prep = 12ms
typeWeaving = 30ms
decaWeaving = 3ms
fastShadowMatching = 7ms
shadowMatching = 14463ms
shadowWeaving = 111ms
postWeave = 90ms
Total =14719ms

Kinded pointcut matchInternal(): 2014ms
Kinded pointcut match calls: 148930
Kinded pointcut xlinttime: 494ms
ThisTarget pointcut matchInternal: 9440ms

Timing: time spent in pipeline weaving: 19141ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=2ms
> verifying consistency=1ms
> weaving aspects=1ms
> weaving classes=3054ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 41ms
> weaving normal itds=177ms
> weaving structural itds=23ms

Breakdown of time spent in type weaver instances:
class prep = 6ms
typeWeaving = 915ms
decaWeaving = 2ms
fastShadowMatching = 7ms
shadowMatching = 781ms
shadowWeaving = 670ms
postWeave = 27ms
Total =2412ms

Kinded pointcut matchInternal(): 435ms
Kinded pointcut match calls: 47699
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 14ms

Timing: time spent in pipeline weaving: 5954ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=1ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=579ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 5ms
> weaving normal itds=81ms
> weaving structural itds=1ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 188ms
decaWeaving = 0ms
fastShadowMatching = 1ms
shadowMatching = 64ms
shadowWeaving = 156ms
postWeave = 12ms
Total =423ms

Kinded pointcut matchInternal(): 47ms
Kinded pointcut match calls: 5242
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 2ms

Timing: time spent in pipeline weaving: 2828ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=1ms
> verifying consistency=0ms
> weaving aspects=191ms
> weaving classes=3367ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 391ms
> weaving normal itds=21ms
> weaving structural itds=1ms

Breakdown of time spent in type weaver instances:
class prep = 4ms
typeWeaving = 33ms
decaWeaving = 0ms
fastShadowMatching = 2ms
shadowMatching = 2702ms
shadowWeaving = 107ms
postWeave = 10ms
Total =2861ms

Kinded pointcut matchInternal(): 344ms
Kinded pointcut match calls: 23867
Kinded pointcut xlinttime: 47ms
ThisTarget pointcut matchInternal: 1115ms

Timing: time spent in pipeline weaving: 4587ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=12ms
> weaving classes=19848ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 379ms
> weaving normal itds=62ms
> weaving structural itds=8ms

Breakdown of time spent in type weaver instances:
class prep = 15ms
typeWeaving = 0ms
decaWeaving = 1ms
fastShadowMatching = 7ms
shadowMatching = 16149ms
shadowWeaving = 2272ms
postWeave = 45ms
Total =18493ms

Kinded pointcut matchInternal(): 3132ms
Kinded pointcut match calls: 182507
Kinded pointcut xlinttime: 444ms
ThisTarget pointcut matchInternal: 9281ms

Timing: time spent in pipeline weaving: 22614ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=130ms
> weaving classes=17780ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 19ms
> weaving normal itds=19ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 4ms
typeWeaving = 14ms
decaWeaving = 0ms
fastShadowMatching = 1ms
shadowMatching = 17580ms
shadowWeaving = 156ms
postWeave = 11ms
Total =17770ms

Kinded pointcut matchInternal(): 15634ms
Kinded pointcut match calls: 33642
Kinded pointcut xlinttime: 15088ms
ThisTarget pointcut matchInternal: 1344ms

Timing: time spent in pipeline weaving: 18593ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=2ms
> reweavable processing=7ms
> verifying consistency=0ms
> weaving aspects=13ms
> weaving classes=15564ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 118ms
> weaving normal itds=82ms
> weaving structural itds=7ms

Breakdown of time spent in type weaver instances:
class prep = 6ms
typeWeaving = 1ms
decaWeaving = 3ms
fastShadowMatching = 7ms
shadowMatching = 14649ms
shadowWeaving = 25ms
postWeave = 135ms
Total =14830ms

Kinded pointcut matchInternal(): 2990ms
Kinded pointcut match calls: 161602
Kinded pointcut xlinttime: 378ms
ThisTarget pointcut matchInternal: 8615ms

Timing: time spent in pipeline weaving: 20691ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=670ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 25ms
> weaving normal itds=6ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 459ms
shadowWeaving = 135ms
postWeave = 0ms
Total =596ms

Kinded pointcut matchInternal(): 143ms
Kinded pointcut match calls: 4960
Kinded pointcut xlinttime: 9ms
ThisTarget pointcut matchInternal: 271ms

Timing: time spent in pipeline weaving: 706ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=1ms
> weaving classes=282ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 6ms
> weaving normal itds=6ms
> weaving structural itds=1ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 3ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 227ms
shadowWeaving = 7ms
postWeave = 0ms
Total =239ms

Kinded pointcut matchInternal(): 34ms
Kinded pointcut match calls: 2128
Kinded pointcut xlinttime: 8ms
ThisTarget pointcut matchInternal: 137ms

Timing: time spent in pipeline weaving: 691ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=1ms
> weaving classes=8ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 1ms
> weaving normal itds=0ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 1ms
shadowWeaving = 0ms
postWeave = 0ms
Total =3ms

Kinded pointcut matchInternal(): 0ms
Kinded pointcut match calls: 65
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 0ms

Timing: time spent in pipeline weaving: 104ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=2ms
> weaving aspects=139ms
> weaving classes=917ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 51ms
> weaving normal itds=20ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 7ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 816ms
shadowWeaving = 100ms
postWeave = 3ms
Total =929ms

Kinded pointcut matchInternal(): 381ms
Kinded pointcut match calls: 24214
Kinded pointcut xlinttime: 50ms
ThisTarget pointcut matchInternal: 219ms

Timing: time spent in pipeline weaving: 1505ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=207ms
> weaving classes=8468ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 31ms
> weaving normal itds=11ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 6965ms
shadowWeaving = 1489ms
postWeave = 3ms
Total =8460ms

Kinded pointcut matchInternal(): 3157ms
Kinded pointcut match calls: 206596
Kinded pointcut xlinttime: 513ms
ThisTarget pointcut matchInternal: 2274ms

Timing: time spent in pipeline weaving: 9285ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=541ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 4ms
> weaving normal itds=0ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 460ms
shadowWeaving = 53ms
postWeave = 0ms
Total =515ms

Kinded pointcut matchInternal(): 185ms
Kinded pointcut match calls: 12951
Kinded pointcut xlinttime: 36ms
ThisTarget pointcut matchInternal: 80ms

Timing: time spent in pipeline weaving: 577ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=1ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 0ms
> weaving normal itds=0ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 0ms
shadowWeaving = 0ms
postWeave = 0ms
Total =0ms

Kinded pointcut matchInternal(): 0ms
Kinded pointcut match calls: 0
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 0ms

Timing: time spent in pipeline weaving: 15ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=280ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 13ms
> weaving normal itds=1ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 228ms
shadowWeaving = 22ms
postWeave = 1ms
Total =253ms

Kinded pointcut matchInternal(): 136ms
Kinded pointcut match calls: 11484
Kinded pointcut xlinttime: 38ms
ThisTarget pointcut matchInternal: 26ms

Timing: time spent in pipeline weaving: 368ms
Timing ------------

!ENTRY org.tigris.subversion.subclipse.core 4 0 2009-10-10 21:51:41.772
!MESSAGE org.tigris.subversion.javahl.ClientException: Working copy not locked;
this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

!STACK 1
org.tigris.subversion.subclipse.core.SVNException: org.tigris.subversion.javahl.
ClientException: Working copy not locked; this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.subclipse.core.SVNException.wrapException(SVNEx
ception.java:85)
        at org.tigris.subversion.subclipse.core.status.StatusCacheManager.refres
hStatus(StatusCacheManager.java:289)
        at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificat
ionManager.refreshStatusInfitite(FileModificationManager.java:149)
        at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificat
ionManager.resourceChanged(FileModificationManager.java:133)
        at org.eclipse.core.internal.events.NotificationManager$2.run(Notificati
onManager.java:291)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.core.internal.events.NotificationManager.notify(Notificat
ionManager.java:285)
        at org.eclipse.core.internal.events.NotificationManager.broadcastChanges
(NotificationManager.java:149)
        at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Wor
kspace.java:313)
        at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.
java:1022)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1809
)
        at org.eclipse.core.internal.events.NotificationManager$NotifyJob.run(No
tificationManager.java:40)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.tigris.subversion.subclipse.core.SVNException: org.tigris.subvers
ion.javahl.ClientException: Working copy not locked; this is probably a bug, ple
ase report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.subclipse.core.SVNException.wrapException(SVNEx
ception.java:75)
        at org.tigris.subversion.subclipse.core.status.RecursiveStatusUpdateStra
tegy.statusesToUpdate(RecursiveStatusUpdateStrategy.java:64)
        at org.tigris.subversion.subclipse.core.status.StatusCacheManager.refres
hStatus(StatusCacheManager.java:264)
        ... 11 more
Caused by: org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris
.subversion.javahl.ClientException: Working copy not locked; this is probably a
bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:495)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:467)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:460)
        at org.tigris.subversion.subclipse.core.status.RecursiveStatusUpdateStra
tegy.statusesToUpdate(RecursiveStatusUpdateStrategy.java:62)
        ... 12 more
Caused by: org.tigris.subversion.javahl.ClientException: Working copy not locked
; this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.javahl.SVNClient.status(Native Method)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:481)
        ... 15 more
!SUBENTRY 1 org.tigris.subversion.subclipse.core 4 -6 2009-10-10 21:51:41.786
!MESSAGE org.tigris.subversion.javahl.ClientException: Working copy not locked;
this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

!STACK 1
org.tigris.subversion.subclipse.core.SVNException: org.tigris.subversion.javahl.
ClientException: Working copy not locked; this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.subclipse.core.SVNException.wrapException(SVNEx
ception.java:75)
        at org.tigris.subversion.subclipse.core.status.RecursiveStatusUpdateStra
tegy.statusesToUpdate(RecursiveStatusUpdateStrategy.java:64)
        at org.tigris.subversion.subclipse.core.status.StatusCacheManager.refres
hStatus(StatusCacheManager.java:264)
        at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificat
ionManager.refreshStatusInfitite(FileModificationManager.java:149)
        at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificat
ionManager.resourceChanged(FileModificationManager.java:133)
        at org.eclipse.core.internal.events.NotificationManager$2.run(Notificati
onManager.java:291)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.core.internal.events.NotificationManager.notify(Notificat
ionManager.java:285)
        at org.eclipse.core.internal.events.NotificationManager.broadcastChanges
(NotificationManager.java:149)
        at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Wor
kspace.java:313)
        at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.
java:1022)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1809
)
        at org.eclipse.core.internal.events.NotificationManager$NotifyJob.run(No
tificationManager.java:40)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris
.subversion.javahl.ClientException: Working copy not locked; this is probably a
bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:495)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:467)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:460)
        at org.tigris.subversion.subclipse.core.status.RecursiveStatusUpdateStra
tegy.statusesToUpdate(RecursiveStatusUpdateStrategy.java:62)
        ... 12 more
Caused by: org.tigris.subversion.javahl.ClientException: Working copy not locked
; this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.javahl.SVNClient.status(Native Method)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:481)
        ... 15 more
!SUBENTRY 2 org.tigris.subversion.subclipse.core 4 -6 2009-10-10 21:51:41.796
!MESSAGE org.tigris.subversion.javahl.ClientException: Working copy not locked;
this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

!STACK 0
org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris.subversion
.javahl.ClientException: Working copy not locked; this is probably a bug, please
 report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:495)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:467)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:460)
        at org.tigris.subversion.subclipse.core.status.RecursiveStatusUpdateStra
tegy.statusesToUpdate(RecursiveStatusUpdateStrategy.java:62)
        at org.tigris.subversion.subclipse.core.status.StatusCacheManager.refres
hStatus(StatusCacheManager.java:264)
        at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificat
ionManager.refreshStatusInfitite(FileModificationManager.java:149)
        at org.tigris.subversion.subclipse.core.resourcesListeners.FileModificat
ionManager.resourceChanged(FileModificationManager.java:133)
        at org.eclipse.core.internal.events.NotificationManager$2.run(Notificati
onManager.java:291)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.core.internal.events.NotificationManager.notify(Notificat
ionManager.java:285)
        at org.eclipse.core.internal.events.NotificationManager.broadcastChanges
(NotificationManager.java:149)
        at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Wor
kspace.java:313)
        at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.
java:1022)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1809
)
        at org.eclipse.core.internal.events.NotificationManager$NotifyJob.run(No
tificationManager.java:40)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.tigris.subversion.javahl.ClientException: Working copy not locked
; this is probably a bug, please report
svn: Directory 'C:\ws\ivk- eclipse 3.5\com.dcx.ivkmds.application.test.ass\bin\c
om\.svn' containing working copy admin area is missing

        at org.tigris.subversion.javahl.SVNClient.status(Native Method)
        at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapte
r.getStatus(AbstractJhlClientAdapter.java:481)
        ... 15 more
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=3ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=7061ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 144ms
> weaving normal itds=35ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 1ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 1ms
shadowMatching = 5240ms
shadowWeaving = 1281ms
postWeave = 75ms
Total =6601ms

Kinded pointcut matchInternal(): 3424ms
Kinded pointcut match calls: 248587
Kinded pointcut xlinttime: 654ms
ThisTarget pointcut matchInternal: 664ms

Timing: time spent in pipeline weaving: 8426ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=2897ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 20ms
> weaving normal itds=2ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 1ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 2509ms
shadowWeaving = 307ms
postWeave = 3ms
Total =2823ms

Kinded pointcut matchInternal(): 1808ms
Kinded pointcut match calls: 73238
Kinded pointcut xlinttime: 205ms
ThisTarget pointcut matchInternal: 209ms

Timing: time spent in pipeline weaving: 5215ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=0ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 0ms
> weaving normal itds=0ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 0ms
shadowWeaving = 0ms
postWeave = 0ms
Total =0ms

Kinded pointcut matchInternal(): 0ms
Kinded pointcut match calls: 0
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 0ms

Timing: time spent in pipeline weaving: 0ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=3ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 1ms
> weaving normal itds=2ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 1ms
shadowWeaving = 0ms
postWeave = 0ms
Total =1ms

Kinded pointcut matchInternal(): 1ms
Kinded pointcut match calls: 30
Kinded pointcut xlinttime: 0ms
ThisTarget pointcut matchInternal: 0ms

Timing: time spent in pipeline weaving: 15ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=52ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 1ms
> weaving normal itds=1ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 35ms
shadowWeaving = 10ms
postWeave = 0ms
Total =47ms

Kinded pointcut matchInternal(): 24ms
Kinded pointcut match calls: 1204
Kinded pointcut xlinttime: 3ms
ThisTarget pointcut matchInternal: 4ms

Timing: time spent in pipeline weaving: 78ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=69ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 0ms
> weaving normal itds=23ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 50ms
shadowWeaving = 8ms
postWeave = 0ms
Total =59ms

Kinded pointcut matchInternal(): 29ms
Kinded pointcut match calls: 2013
Kinded pointcut xlinttime: 4ms
ThisTarget pointcut matchInternal: 9ms

Timing: time spent in pipeline weaving: 102ms
Timing ------------
Timing ------------
Entire time spent in the weaver instance created for this build:
> performing model repairs=0ms
> reweavable processing=0ms
> verifying consistency=0ms
> weaving aspects=0ms
> weaving classes=154ms
  for those two weave steps, time spent pre-post calling the individual type wea
ver instance: 12ms
> weaving normal itds=4ms
> weaving structural itds=0ms

Breakdown of time spent in type weaver instances:
class prep = 0ms
typeWeaving = 0ms
decaWeaving = 0ms
fastShadowMatching = 0ms
shadowMatching = 102ms
shadowWeaving = 17ms
postWeave = 1ms
Total =122ms

Kinded pointcut matchInternal(): 63ms
Kinded pointcut match calls: 4631
Kinded pointcut xlinttime: 13ms
ThisTarget pointcut matchInternal: 14ms

Timing: time spent in pipeline weaving: 318ms
Timing ------------

!ENTRY org.eclipse.ajdt.core 4 0 2009-10-10 21:52:16.179
!MESSAGE Class org.eclipse.ajdt.core.javaelements.AJCompilationUnitInfo can not
access a member of class org.eclipse.jdt.internal.core.ASTHolderCUInfo with modi
fiers ""
!STACK 0
java.lang.IllegalAccessException: Class org.eclipse.ajdt.core.javaelements.AJCom
pilationUnitInfo can not access a member of class org.eclipse.jdt.internal.core.
ASTHolderCUInfo with modifiers ""
        at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
        at java.lang.reflect.Field.doSecurityCheck(Unknown Source)
        at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
        at java.lang.reflect.Field.getInt(Unknown Source)
        at org.eclipse.ajdt.core.javaelements.AJCompilationUnitInfo.getASTLevel(
AJCompilationUnitInfo.java:37)
        at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.buildStructure(A
JCompilationUnit.java:296)
        at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:25
8)
        at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.generateInfos(AJ
CompilationUnit.java:217)
        at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.
java:515)
        at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.
java:252)
        at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.
java:238)
        at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.jav
a:193)
        at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.findAspectType(A
JCompilationUnit.java:239)
        at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.getType(AJCompil
ationUnit.java:226)
        at org.eclipse.jdt.internal.core.NameLookup.seekTypesInSourcePackage(Nam
eLookup.java:1083)
        at org.eclipse.jdt.internal.core.NameLookup.seekTypes(NameLookup.java:98
9)
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:778
)
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:662
)
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:816
)
        at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1
199)
        at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1
280)
        at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1
186)
        at org.eclipse.ajdt.core.model.AJProjectModelFacade.getCUFromQualifiedNa
me(AJProjectModelFacade.java:685)
        at org.eclipse.ajdt.core.model.AJProjectModelFacade.getElementFromClassF
ile(AJProjectModelFacade.java:498)
        at org.eclipse.ajdt.core.model.AJProjectModelFacade.programElementToJava
Element(AJProjectModelFacade.java:370)
        at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.getCustomMarker(
UpdateAJMarkers.java:440)
        at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.createMarker(Upd
ateAJMarkers.java:200)
        at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.addMarkersForFil
e(UpdateAJMarkers.java:189)
        at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.addMarkersForPro
ject(UpdateAJMarkers.java:146)
        at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.run(UpdateAJMark
ers.java:113)
        at org.eclipse.ajdt.internal.ui.markers.DeleteAndUpdateAJMarkersJob.run(
DeleteAndUpdateAJMarkersJob.java:59)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
!SUBENTRY 1 org.eclipse.ajdt.core 4 0 2009-10-10 21:52:16.235
!MESSAGE org.eclipse.ajdt.core.javaelements.AJCompilationUnitInfo.getASTLevel(AJ
CompilationUnitInfo.java:41)
!SUBENTRY 1 org.eclipse.ajdt.core 1 1 2009-10-10 21:52:16.237
!MESSAGE org.eclipse.ajdt.core.javaelements.AJCompilationUnitInfo@23ae49
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-10-10 21:52:16.238
!MESSAGE astLevelField=class java.lang.reflect.Field@1222314985
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-10-10 21:52:16.238
!MESSAGE resolveBindingsField=null
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-10-10 21:52:16.239
!MESSAGE reconcileFlagsField=null
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-10-10 21:52:16.240
!MESSAGE problemsField=null
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-10-10 21:52:16.241
!MESSAGE astField=null

!ENTRY org.eclipse.ajdt.core 4 0 2009-10-10 21:52:16.331
!MESSAGE Class org.eclipse.ajdt.core.javaelements.AJCompilationUnitInfo can not
access a member of class org.eclipse.jdt.internal.core.ASTHolderCUInfo with modi
fiers ""
!STACK 0
java.lang.IllegalAccessException: Class org.eclipse.ajdt.core.javaelements.AJCom
pilationUnitInfo can not access a member of class org.eclipse.jdt.internal.core.
ASTHolderCUInfo with modifiers ""
        at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
        at java.lang.reflect.Field.doSecurityCheck(Unknown Source)
        at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
        at java.lang.reflect.Field.getInt(Unknown Source)
        at org.eclipse.ajdt.core.javaelements.AJCompilationUnitInfo.getASTLevel(
AJCompilationUnitInfo.java:37)
        at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.buildStructure(A
JCompilationUnit.java:296)
        at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:25
8)
        at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.generateInfos(AJ
CompilationUnit.java:217)
        at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.
java:515)
        at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.
java:252)
        at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.
java:238)
        at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.jav
a:193)
        at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.findAspectType(A
JCompilationUnit.java:239)
        at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.getType(AJCompil
ationUnit.java:226)
        at org.eclipse.jdt.internal.core.NameLookup.seekTypesInSourcePackage(Nam
eLookup.java:1083)
        at org.eclipse.jdt.internal.core.NameLookup.seekTypes(NameLookup.java:98
9)
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:778
)
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:662
)
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:816
)
        at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1
199)
        at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1
280)
        at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1
186)
        at org.eclipse.ajdt.core.model.AJProjectModelFacade.getCUFromQualifiedNa
me(AJProjectModelFacade.java:685)
        at org.eclipse.ajdt.core.model.AJProjectModelFacade.getElementFromClassF
ile(AJProjectModelFacade.java:498)
        at org.eclipse.ajdt.core.model.AJProjectModelFacade.programElementToJava
Element(AJProjectModelFacade.java:370)
        at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.getCustomMarker(
UpdateAJMarkers.java:440)
        at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.createMarker(Upd
ateAJMarkers.java:200)
        at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.addMarkersForFil
e(UpdateAJMarkers.java:189)
        at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.addMarkersForPro
ject(UpdateAJMarkers.java:146)
        at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.run(UpdateAJMark
ers.java:113)
        at org.eclipse.ajdt.internal.ui.markers.DeleteAndUpdateAJMarkersJob.run(
DeleteAndUpdateAJMarkersJob.java:59)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
!SUBENTRY 1 org.eclipse.ajdt.core 4 0 2009-10-10 21:52:16.342
!MESSAGE org.eclipse.ajdt.core.javaelements.AJCompilationUnitInfo.getASTLevel(AJ
CompilationUnitInfo.java:41)
!SUBENTRY 1 org.eclipse.ajdt.core 1 1 2009-10-10 21:52:16.343
!MESSAGE org.eclipse.ajdt.core.javaelements.AJCompilationUnitInfo@6f3ab6
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-10-10 21:52:16.345
!MESSAGE astLevelField=class java.lang.reflect.Field@1222314985
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-10-10 21:52:16.346
!MESSAGE resolveBindingsField=class java.lang.reflect.Field@1652893009
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-10-10 21:52:16.347
!MESSAGE reconcileFlagsField=class java.lang.reflect.Field@-2131867118
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-10-10 21:52:16.347
!MESSAGE problemsField=null
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-10-10 21:52:16.348
!MESSAGE astField=null

!ENTRY org.eclipse.ajdt.core 4 0 2009-10-10 21:52:16.375
!MESSAGE Class org.eclipse.ajdt.core.javaelements.AJCompilationUnitInfo can not
access a member of class org.eclipse.jdt.internal.core.ASTHolderCUInfo with modi
fiers ""
!STACK 0
java.lang.IllegalAccessException: Class org.eclipse.ajdt.core.javaelements.AJCom
pilationUnitInfo can not access a member of class org.eclipse.jdt.internal.core.
ASTHolderCUInfo with modifiers ""
        at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
        at java.lang.reflect.Field.doSecurityCheck(Unknown Source)
        at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
        at java.lang.reflect.Field.getInt(Unknown Source)
        at org.eclipse.ajdt.core.javaelements.AJCompilationUnitInfo.getASTLevel(
AJCompilationUnitInfo.java:37)
        at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.buildStructure(A
JCompilationUnit.java:296)
        at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:25
8)
        at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.generateInfos(AJ
CompilationUnit.java:217)
        at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.
java:515)
        at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.
java:252)
        at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.
java:238)
        at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.jav
a:193)
        at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.findAspectType(A
JCompilationUnit.java:239)
        at org.eclipse.ajdt.core.javaelements.AJCompilationUnit.getType(AJCompil
ationUnit.java:226)
        at org.eclipse.jdt.internal.core.NameLookup.seekTypesInSourcePackage(Nam
eLookup.java:1083)
        at org.eclipse.jdt.internal.core.NameLookup.seekTypes(NameLookup.java:98
9)
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:778
)
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:662
)
        at org.eclipse.jdt.internal.core.NameLookup.findType(NameLookup.java:816
)
        at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1
199)
        at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1
280)
        at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1
186)
        at org.eclipse.ajdt.core.model.AJProjectModelFacade.getCUFromQualifiedNa
me(AJProjectModelFacade.java:685)
        at org.eclipse.ajdt.core.model.AJProjectModelFacade.getElementFromClassF
ile(AJProjectModelFacade.java:498)
        at org.eclipse.ajdt.core.model.AJProjectModelFacade.programElementToJava
Element(AJProjectModelFacade.java:370)
        at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.getCustomMarker(
UpdateAJMarkers.java:440)
        at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.createMarker(Upd
ateAJMarkers.java:200)
        at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.addMarkersForFil
e(UpdateAJMarkers.java:189)
        at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.addMarkersForPro
ject(UpdateAJMarkers.java:146)
        at org.eclipse.ajdt.internal.ui.markers.UpdateAJMarkers.run(UpdateAJMark
ers.java:113)
        at org.eclipse.ajdt.internal.ui.markers.DeleteAndUpdateAJMarkersJob.run(
DeleteAndUpdateAJMarkersJob.java:59)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
!SUBENTRY 1 org.eclipse.ajdt.core 4 0 2009-10-10 21:52:16.385
!MESSAGE org.eclipse.ajdt.core.javaelements.AJCompilationUnitInfo.getASTLevel(AJ
CompilationUnitInfo.java:41)
!SUBENTRY 1 org.eclipse.ajdt.core 1 1 2009-10-10 21:52:16.387
!MESSAGE org.eclipse.ajdt.core.javaelements.AJCompilationUnitInfo@6cff9c
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-10-10 21:52:16.387
!MESSAGE astLevelField=class java.lang.reflect.Field@1222314985
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-10-10 21:52:16.388
!MESSAGE resolveBindingsField=class java.lang.reflect.Field@1652893009
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-10-10 21:52:16.389
!MESSAGE reconcileFlagsField=class java.lang.reflect.Field@-2131867118
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-10-10 21:52:16.390
!MESSAGE problemsField=null
!SUBENTRY 2 org.eclipse.ajdt.core 1 0 2009-10-10 21:52:16.391
!MESSAGE astField=null






_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: Overall problem with AJDT performance

by Andy Clement :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hey,

Andrew will look at the AJDT problems I'm sure.  I'll do a bit more
testing on the change I made in zip 3 and probably commit it.  I'm
pleased we have managed to make a difference here.  If you want us to
take it further then we can try, but it'll be trickier without a
proper profile showing where your particular scenario is spending its
time.  I can do some analysis of this() matching but without a similar
set of hierarchies to what you have as my test program, it may be hard
to spot any problems.

cheers,
Andy
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Parent Message unknown AW: Overall problem with AJDT performance

by thofmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Andy,

I would be willing to put together some profiling infos as I'm not able to provide you my complete workspace. I will install the yourkit trial. Maybe you can point me to some infos on what exactly needs to be in the profiling  infos to record. Do I need to use a special version so that you can read the results? Can the results be interchanged at all?

I have a second question. Would it be possible to backport the changes to the eclipse 3.2.x compatible branch?

Thomas

----- Ursprüngliche Nachricht -----
Von: Andy Clement <andrew.clement@...>
Gesendet: Sonntag, 11. Oktober 2009 01:39
An: aspectj-users@... <aspectj-users@...>
Betreff: Re: [aspectj-users] Overall problem with AJDT performance


Hey,

Andrew will look at the AJDT problems I'm sure.  I'll do a bit more
testing on the change I made in zip 3 and probably commit it.  I'm
pleased we have managed to make a difference here.  If you want us to
take it further then we can try, but it'll be trickier without a
proper profile showing where your particular scenario is spending its
time.  I can do some analysis of this() matching but without a similar
set of hierarchies to what you have as my test program, it may be hard
to spot any problems.

cheers,
Andy
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: Overall problem with AJDT performance

by Andy Clement :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> I have a second question. Would it be possible to backport the changes to the eclipse 3.2.x compatible branch?

Yikes, that is old.  However, if I can discover what level of AspectJ
was in the last release for that copy of Eclipse, then I can backport
the change.  Luckily it is extremely localized so you would just have
to patch one file in the weaver plugin.  I doubt we'd put out a new
release on Eclipse 3.2 though, you might have to just patch it
yourself.

I noticed you missed at least one project when you were turning off
the xlint warning processing, that should save you another 15seconds:

grep xlint \times.txt

> Kinded pointcut xlinttime: 0ms
> Kinded pointcut xlinttime: 0ms
> Kinded pointcut xlinttime: 0ms
> Kinded pointcut xlinttime: 2ms
> Kinded pointcut xlinttime: 494ms
> Kinded pointcut xlinttime: 0ms
> Kinded pointcut xlinttime: 0ms
> Kinded pointcut xlinttime: 47ms
> Kinded pointcut xlinttime: 444ms
> Kinded pointcut xlinttime: 15088ms
> Kinded pointcut xlinttime: 378ms
> Kinded pointcut xlinttime: 9ms
> Kinded pointcut xlinttime: 8ms
> Kinded pointcut xlinttime: 0ms
> Kinded pointcut xlinttime: 50ms
> Kinded pointcut xlinttime: 513ms
> Kinded pointcut xlinttime: 36ms
> Kinded pointcut xlinttime: 0ms
> Kinded pointcut xlinttime: 38ms
> Kinded pointcut xlinttime: 654ms
> Kinded pointcut xlinttime: 205ms
> Kinded pointcut xlinttime: 0ms
> Kinded pointcut xlinttime: 0ms
> Kinded pointcut xlinttime: 3ms
> Kinded pointcut xlinttime: 4ms
> Kinded pointcut xlinttime: 13ms

Do you have an end goal here?  What would you be happy with?  Building
148 projects from scratch is never going to be sub minute I suspect.
The most important thing is always that incremental builds are fast.
Summing up the time spent in pipeline compilation, roughly, if we did
no weaving at all we'd only save another 2mins.

Andy

2009/10/11 Thomas Hofmann <email@...>:

> Hi Andy,
>
> I would be willing to put together some profiling infos as I'm not able to provide you my complete workspace. I will install the yourkit trial. Maybe you can point me to some infos on what exactly needs to be in the profiling  infos to record. Do I need to use a special version so that you can read the results? Can the results be interchanged at all?
>
> I have a second question. Would it be possible to backport the changes to the eclipse 3.2.x compatible branch?
>
> Thomas
>
> ----- Ursprüngliche Nachricht -----
> Von: Andy Clement <andrew.clement@...>
> Gesendet: Sonntag, 11. Oktober 2009 01:39
> An: aspectj-users@... <aspectj-users@...>
> Betreff: Re: [aspectj-users] Overall problem with AJDT performance
>
>
> Hey,
>
> Andrew will look at the AJDT problems I'm sure.  I'll do a bit more
> testing on the change I made in zip 3 and probably commit it.  I'm
> pleased we have managed to make a difference here.  If you want us to
> take it further then we can try, but it'll be trickier without a
> proper profile showing where your particular scenario is spending its
> time.  I can do some analysis of this() matching but without a similar
> set of hierarchies to what you have as my test program, it may be hard
> to spot any problems.
>
> cheers,
> Andy
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users
< Prev | 1 - 2 | Next >