Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Aspects Recompiled Too Often

Hi Tobias,

I think the behaviour you're seeing it pretty much as expected
currently - although clearly there is room for improvement. As you can
see from the output, the builder for the first project determines
there are no source changes in the project, so finishes very quickly.
The builders for the dependent projects are then called, and they call
the incremental compiler which determines what needs to be recompiled
in response to the changes in the first project - in this case
nothing, but that activity takes a small amount of time (the 203ms in
the second  project isn't bad, but the 703ms of the third project
seems a little high). Then in each case AJDT needs to determine the
crosscutting relationships and add the markers (which are deleted
before a build). As your third project has so many crosscutting
relationships this takes a bit of time.

To improve on this I can think of two possibilities:
1. Try to reduce the time taken by the compiler to determine what to
recompile - it might be possible to shortcut the processing if it can
be determined upfront that there are no source changes.
2. Implement a way for the compiler to indicate to AJDT that there has
been no change in the crosscutting relationships.

Feel free to raise a bugzilla request in which we can investigate further.

Regards,

Matt.

On 27/09/05, Tobias Dunn-Krahn <tdunn-krahn@xxxxxxxxxxxxxxxx> wrote:
> Hello Matt,
>
> I have three aspectJ projects that are dependent on one another as
> follows:
>
> foundation depends on nothing
> interpreter depends on foundation
> node depends on foundation and interpreter
>
> Here is the trace I get after modifying an XML file (no other changes)
> in the foundation project:
>
>
> 1:38:46 PM
> ========================================================================
> ===================
> 1:38:46 PM       Build kind = AUTOBUILD
> 1:38:46 PM       Project=foundation         kind of build requested
> =Incremental AspectJ compilation
> 1:38:46 PM       build: Examined delta - no source file changes for
> project foundation
> 1:38:46 PM       Timer event: 0ms: Add markers (0 markers)
> 1:38:46 PM       Timer event: 16ms: Total time spent in
> AJBuilder.build()
> 1:38:46 PM
> ========================================================================
> ===================
> 1:38:46 PM       Build kind = AUTOBUILD
> 1:38:46 PM       Project=interpreter         kind of build requested
> =Incremental AspectJ compilation
> 1:38:46 PM       AspectJ reports build successful, build was:
> INCREMENTAL
> 1:38:46 PM       Timer event: 203ms: Total time spent in AJDE
> 1:38:47 PM       Timer event: 219ms: Create element map (0 rels in
> project: interpreter)
> 1:38:47 PM       Timer event: 0ms: Add markers (0 markers)
> 1:38:47 PM       Timer event: 797ms: Total time spent in
> AJBuilder.build()
> 1:38:47 PM
> ========================================================================
> ===================
> 1:38:47 PM       Build kind = AUTOBUILD
> 1:38:47 PM       Project=node         kind of build requested
> =Incremental AspectJ compilation
> 1:38:48 PM       AspectJ reports build successful, build was:
> INCREMENTAL
> 1:38:48 PM       Timer event: 703ms: Total time spent in AJDE
> 1:38:49 PM       Timer event: 797ms: Create element map (1660 rels in
> project: node)
> 1:38:49 PM       Timer event: 172ms: Add markers (831 markers)
> 1:38:49 PM       Timer event: 1906ms: Total time spent in
> AJBuilder.build()
>
> Thanks for you help,
> Tobias
>
> -----Original Message-----
> From: aspectj-users-bounces@xxxxxxxxxxx
> [mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Matt Chapman
> Sent: Tuesday, September 27, 2005 9:20 AM
> To: aspectj-users@xxxxxxxxxxx
> Subject: Re: [aspectj-users] Aspects Recompiled Too Often
>
> Hi Tobias,
>
> You could try doing Window > Show View > Other > AspectJ > AJDT Event
> Trace
> That should output various messages when a build occurs which might
> give a clue as to what is happening here.
>
> Regards,
>
> Matt.
>
> On 26/09/05, Tobias Dunn-Krahn <tdunn-krahn@xxxxxxxxxxxxxxxx> wrote:
> >
> >
> >
> > Hello All,
> >
> >
> >
> > I'm running Eclipse 3.1 with the latest development build of AJDT
> (1.3.0
> > series).  I'm encountering a problem where the AspectJ builder is
> invoked
> > subsequent to any file modification in my project, including non-java,
> > non-aspect files.  I'm running in incremental mode, so usually these
> > invocations run quickly, but for some reason when the AspectJ builder
> runs
> > it brings up a modal window displaying progress preventing any further
> > actions.  Any help on either issue would be greatly appreciated.
> >
> >
> >
> > Thanks in advance,
> >
> > Tobias
> > _______________________________________________
> > 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