Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
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@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxx>:
>> 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@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>


Back to the top