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

Thomas,

I raised https://bugs.eclipse.org/bugs/show_bug.cgi?id=292069 to track
this problem.  I've committed the change for AspectJ1.6.7 - I'll put
that into AJDT for Eclipse 3.5 later this week probably.

I also attached a zip to that bug containing the replacement class
that can be applied to older versions of AspectJ to implement the same
change.  It does not turn the xlint off, you will still need to do
that yourself, it just changes the evaluation order so this() is done
before call().

backup your jars and apply that patch weaver plugins with

jar -xvf patch15.zip
jar -uvf aspectjweaver.jar org

There is no need to patch ajde.

Whether your build times will be really quick on AspectJ 1.5.4, I'm
not sure - they will be much improved but a lot of other stuff has
changed between then and now.

the remaining work to do under that bug is turn off the xlint by
default and make the timers more permanent, I'll get to that when I
can.

Andy

2009/10/12 Thomas Hofmann <email@xxxxxxxxxxxxxxxxx>:
> So is the change going to be committed for both 3.4 and 3.5? If so when do you think you will have the next dev build available?
>
>
> -----Original Message-----
> From: aspectj-users-bounces@xxxxxxxxxxx [mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Andy Clement
> Sent: Sonntag, 11. Oktober 2009 22:17
> To: aspectj-users@xxxxxxxxxxx
> Subject: Re: [aspectj-users] Overall problem with AJDT performance
>
> Hey Thomas,
>
> My view on that xlint (and really all xlints that default to warning)
> is if you look at what it is telling you and you understand it and
> know it isn't something you need to worry about, just turn it off.  I
> don't plan to improve the processing in that xlint.  I've often
> thought about defaulting it to OFF, and your situation where it is
> having a HUGE impact on build times gives me more evidence that it
> might be worth doing.  It is the only xlint that doesn't default to
> off which takes extra processing time.
>
> I'll look to get a patch together for 3.2 sometime this week.
>
> Andy
>
> 2009/10/11 Thomas Hofmann <email@xxxxxxxxxxxxxxxxx>:
>> Hi Andy,
>>
>> I would be fine with just a patch for the 3.2 release. That would really be great.
>>
>> Concerning the overall build time I'm quite happy with about 6 minutes. When the Xlint setting is on though I get about 12 minutes. Is there any chance to make some improvement at that place?
>>
>> If not I will just turn it off most of the times.
>>
>> Thank you very much,
>>
>> Thomas
>>
>>
>>
>>
>> -----Ursprüngliche Nachricht-----
>> Von: aspectj-users-bounces@xxxxxxxxxxx [mailto:aspectj-users-bounces@xxxxxxxxxxx] Im Auftrag von Andy Clement
>> Gesendet: Sonntag, 11. Oktober 2009 20:04
>> An: aspectj-users@xxxxxxxxxxx
>> Betreff: Re: [aspectj-users] Overall problem with AJDT performance
>>
>>> 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@xxxxxxxxxxxxxxxxx>:
>>> 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@xxxxxxxxx>
>>> Gesendet: Sonntag, 11. Oktober 2009 01:39
>>> An: aspectj-users@xxxxxxxxxxx <aspectj-users@xxxxxxxxxxx>
>>> 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@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>> _______________________________________________
>>> 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
>> _______________________________________________
>> 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
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>


Back to the top