Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [ajdt-dev] AJDT speed with multiple projects

Thanks for your prompt response. 

In the log we have provided, we added only a space so all the dependent
did incremental build, but when we add or remove a constant the
dependent do full build. We only use one output location for each
project but they have different names and we use special project type
Web, EAR, EJB module so they may add implicit output location or mix-up
the logic. 

Like you said, we are probably impacted by
https://bugs.eclipse.org/bugs/show_bug.cgi?id=166580

On Nov 28, 2007 9:47 AM Andy Clement said:

>The problems with incremental compilation exist when you have a mixture
of >projects in the workspace - some AJ and some Java, and there are
>dependencies amongst them.  If they are all AspectJ or all java then it
>will behave much better.  If they are all AJ then a tiny change in a
file >will be compiled/woven quickly (sub-second).  The project state
for a Java >project is a bit of a black box to us in AJ land so we
haven't yet done the >necessary to open it up and examine it - which
will enable AspectJ to be >more intelligent in terms of incremental
compiles.

We actually have a mix, because we wanted to minimize the overhead of
AJDT so we have excluded the projects we think are unlikely to need to
be woven. 

Is it always a problem to mix the project types? Do we have a precise
description somewhere of the combination having or not the problem?

-----Original Message-----
From: ajdt-dev-bounces@xxxxxxxxxxx [mailto:ajdt-dev-bounces@xxxxxxxxxxx]
On Behalf Of Andy Clement
Sent: Monday, March 03, 2008 11:59 PM
To: ajdt-dev@xxxxxxxxxxx
Subject: Re: [ajdt-dev] AJDT speed with multiple projects

On 03/03/2008, Sebastien Tardif <stardif@xxxxxxxxxxxx> wrote:
> It seems that AJDT 1.4.2.200705221209 was released before AspectJ
1.5.4
>  is released so that what is known to be fixed in AspectJ 1.5.4 may
not
>  be included in 1.5.4.200705211336.

Indeed - but I didn't think anything had gone in that would affect you
during that time.  And from the query I just ran to see what was fixed
in that time:
https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_de
sc_type=allwordssubstr&short_desc=&product=AspectJ&target_milestone=1.5.
4&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssub
str&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboar
d=&keywords_type=allwords&keywords=&emailtype1=substring&email1=&emailty
pe2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=2007-
05-21&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+
last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=

only one thing struck me as a possible fix you didn't have:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=166580

which is to do with incremental builds always being full builds when
using multiple output locations.  But as your information said every
build that did occur was incremental, I don't think this is affecting
you.

>  We have 22 projects in our workspace. The projects are dependents
like a
>  tree, so some depend of x projects and those x projects may depend of
>  others. We have no circular references.

Do you have any java projects or are they all AspectJ projects? If you
have a mixture, you might well be hitting what I recently described in
another thread last week.

>  In the trace below, only a Java file was modified by adding a space
so
>  the resulting *.class should be the same then there is no point to
>  involve the dependents. Do you agree?

Of course.

> Do we already have a bug logged or it's already fixed?

I had a quick look over the AJDT bugs and I can't see one.

>  We also notice that full build is often done when we expect
incremental
>  build.

This can be the case if Java/AJ projects are mixed.  If it isn't that
then it sounds like a bug.

>  We also see that AspectJ compiler is keeping a big chunk of
>  WeakReference that take around 800 megs in our RAD. One our developer
>  said that if we call org.aspectj.weaver.Dump.reset() the leak will
go.
>  800 megs just for the AspectJ compiler is close to the limit a JVM
can
>  have on Windows so we cannot extend our JVM memory allocation.

I do believe I have a bug open for that somewhere - and am looking at
memory usage when I get a chance.

>  My team is complaining to me after I introduced AJDT in our big
>  government project.
>
>  Anyone is using AJDT on big software with multiple projects in the
same
>  workspace?
>
>  What's the best practice to use AspectJ with Eclipse/RAD without
AJDT?
>
>
>  -----Original Message-----
>  From: ajdt-dev-bounces@xxxxxxxxxxx
[mailto:ajdt-dev-bounces@xxxxxxxxxxx]
>  On Behalf Of Andy Clement
>  Sent: Monday, March 03, 2008 1:48 PM
>  To: ajdt-dev@xxxxxxxxxxx
>  Subject: Re: [ajdt-dev] AJDT speed with multiple projects
>
>  I'm not planning on upgrading the Eclipse 3.2 version of AJDT any
time
>  soon - but as far as I am aware it includes all the optimizations
that
>  are in the later versions, so it wouldn't change your situation.
>
>  How are your projects dependent?  Just a big stack of AJ projects
that
>  depend on each other?
>
>  Andy.
>
>  On 28/02/2008, Sebastien Tardif <stardif@xxxxxxxxxxxx> wrote:
>  >
>  >
>  >
>  >
>  > Hi,
>  >
>  >
>  >
>  > I put a space in a file and saved. I got the log below. Could I
>  optimize
>  > something? By the way, I'm stock to use Eclipse 3.2 because I use
IBM
>  RAD.
>  > Is a possibility that a more recent AJDT supporting Eclipse 3.2
will
>  be
>  > built?
>  >
>  >
>  >
>  > 5:46:38 PM Startup information:
>  >
>  >    AJDT version: 1.4.2.200705221209 for Eclipse 3.2
>  >
>  >    AspectJ Compiler version: DEVELOPMENT
>  >
>  >    usingVisualiser=true
>  >
>  >    usingXref=true
>  >
>  >    usingCUprovider=false
>  >
>  >    doneAutoOpenXRefViewC:/cc_views_dr_5_1_0_0/workspace =
>  > true
>  >
>  >    org.aspectj.ajdt.core.compiler.weaver.XNoInline = true
>  >
>  >    ajde.version.at.previous.startup = @AJDEVERSION@
>  >
>  >    org.aspectj.ajdt.core.compiler.weaver.XNotReweavable =
>  > true
>  >
>  > 5:46:49 PM
>  >
>
========================================================================
>  ===================
>  >
>  > 5:46:49 PM Build kind = AUTOBUILD
>  >
>  > 5:46:49 PM Project=svcapp, kind of build requested=Incremental
AspectJ
>  > compilation
>  >
>  > 5:46:49 PM build: Examined delta - source file changes in required
>  project
>  > svcapp
>  >
>  > 5:46:50 PM Preparing for build: planning to be an incremental build
>  >
>  > 5:46:50 PM Starting incremental compilation loop 1 of possibly 5
>  >
>  > 5:46:51 PM Timer event: 1687ms: Time to first compiled message
>  >
>  > 5:46:51 PM Timer event: 1718ms: Time to first woven message
>  >
>  > 5:46:51 PM AspectJ reports build successful, build was: INCREMENTAL
>  >
>  > 5:46:51 PM AJDE Callback: finish. Was full build: false
>  >
>  > 5:46:51 PM Timer event: 1890ms: Total time spent in AJDE
>  >
>  > 5:46:52 PM Timer event: 390ms: Create element map (1 rels in
project:
>  > svcapp)
>  >
>  > 5:46:52 PM Types affected during build = 1
>  >
>  > 5:46:52 PM Timer event: 0ms: Add markers (2 markers)
>  >
>  > 5:46:52 PM Timer event: 2765ms: Total time spent in
AJBuilder.build()
>  >
>  > 5:46:52 PM
>  >
>
========================================================================
>  ===================
>  >
>  > 5:46:52 PM Build kind = AUTOBUILD
>  >
>  > 5:46:52 PM Project=svcCommon, kind of build requested=Incremental
>  AspectJ
>  > compilation
>  >
>  > 5:46:52 PM Preparing for build: planning to be an incremental build
>  >
>  > 5:46:52 PM AspectJ reports build successful, build was: INCREMENTAL
>  >
>  > 5:46:52 PM AJDE Callback: finish. Was full build: false
>  >
>  > 5:46:52 PM Timer event: 437ms: Total time spent in AJDE
>  >
>  > 5:46:53 PM Timer event: 63ms: Create element map (0 rels in
project:
>  > svcCommon)
>  >
>  > 5:46:53 PM Timer event: 0ms: Add markers (0 markers)
>  >
>  > 5:46:53 PM Timer event: 625ms: Total time spent in
AJBuilder.build()
>  >
>  > 5:46:53 PM
>  >
>
========================================================================
>  ===================
>  >
>  > 5:46:53 PM Build kind = AUTOBUILD
>  >
>  > 5:46:53 PM Project=imProvisioningHub, kind of build
>  requested=Incremental
>  > AspectJ compilation
>  >
>  > 5:46:53 PM Preparing for build: planning to be an incremental build
>  >
>  > 5:46:53 PM AspectJ reports build successful, build was: INCREMENTAL
>  >
>  > 5:46:53 PM AJDE Callback: finish. Was full build: false
>  >
>  > 5:46:53 PM Timer event: 375ms: Total time spent in AJDE
>  >
>  > 5:46:53 PM Timer event: 0ms: Create element map (0 rels in project:
>  > imProvisioningHub)
>  >
>  > 5:46:53 PM Timer event: 0ms: Add markers (0 markers)
>  >
>  > 5:46:53 PM Timer event: 421ms: Total time spent in
AJBuilder.build()
>  >
>  > 5:46:53 PM
>  >
>
========================================================================
>  ===================
>  >
>  > 5:46:53 PM Build kind = AUTOBUILD
>  >
>  > 5:46:53 PM Project=ctIvrWeb, kind of build requested=Incremental
>  AspectJ
>  > compilation
>  >
>  > 5:46:53 PM Preparing for build: planning to be an incremental build
>  >
>  > 5:46:53 PM AspectJ reports build successful, build was: INCREMENTAL
>  >
>  > 5:46:53 PM AJDE Callback: finish. Was full build: false
>  >
>  > 5:46:53 PM Timer event: 344ms: Total time spent in AJDE
>  >
>  > 5:46:53 PM Timer event: 0ms: Create element map (0 rels in project:
>  > ctIvrWeb)
>  >
>  > 5:46:53 PM Timer event: 0ms: Add markers (0 markers)
>  >
>  > 5:46:53 PM Timer event: 375ms: Total time spent in
AJBuilder.build()
>  >
>  > 5:46:53 PM
>  >
>
========================================================================
>  ===================
>  >
>  > 5:46:53 PM Build kind = AUTOBUILD
>  >
>  > 5:46:53 PM Project=connectors, kind of build requested=Incremental
>  AspectJ
>  > compilation
>  >
>  > 5:46:54 PM Preparing for build: planning to be an incremental build
>  >
>  > 5:46:54 PM AspectJ reports build successful, build was: INCREMENTAL
>  >
>  > 5:46:55 PM AJDE Callback: finish. Was full build: false
>  >
>  > 5:46:55 PM Timer event: 1062ms: Total time spent in AJDE
>  >
>  > 5:46:56 PM Timer event: 781ms: Create element map (0 rels in
project:
>  > connectors)
>  >
>  > 5:46:56 PM Timer event: 0ms: Add markers (0 markers)
>  >
>  > 5:46:56 PM Timer event: 2359ms: Total time spent in
AJBuilder.build()
>  >
>  > 5:46:56 PM
>  >
>
========================================================================
>  ===================
>  >
>  > 5:46:56 PM Build kind = AUTOBUILD
>  >
>  > 5:46:56 PM Project=ejbapp, kind of build requested=Incremental
AspectJ
>  > compilation
>  >
>  > 5:46:56 PM Preparing for build: planning to be an incremental build
>  >
>  > 5:46:57 PM AspectJ reports build successful, build was: INCREMENTAL
>  >
>  > 5:46:57 PM AJDE Callback: finish. Was full build: false
>  >
>  > 5:46:57 PM Timer event: 702ms: Total time spent in AJDE
>  >
>  > 5:46:57 PM Timer event: 141ms: Create element map (0 rels in
project:
>  > ejbapp)
>  >
>  > 5:46:57 PM Timer event: 0ms: Add markers (0 markers)
>  >
>  > 5:46:57 PM Timer event: 1000ms: Total time spent in
AJBuilder.build()
>  >
>  > 5:46:57 PM
>  >
>
========================================================================
>  ===================
>  >
>  > 5:46:57 PM Build kind = AUTOBUILD
>  >
>  > 5:46:57 PM Project=ctWebClient, kind of build requested=Incremental
>  AspectJ
>  > compilation
>  >
>  > 5:46:58 PM Preparing for build: planning to be an incremental build
>  >
>  > 5:46:58 PM AspectJ reports build successful, build was: INCREMENTAL
>  >
>  > 5:46:58 PM AJDE Callback: finish. Was full build: false
>  >
>  > 5:46:58 PM Timer event: 906ms: Total time spent in AJDE
>  >
>  > 5:46:58 PM Timer event: 218ms: Create element map (1 rels in
project:
>  > ctWebClient)
>  >
>  > 5:46:58 PM Timer event: 0ms: Add markers (0 markers)
>  >
>  > 5:46:58 PM Timer event: 1437ms: Total time spent in
AJBuilder.build()
>  >
>  > 5:46:58 PM
>  >
>
========================================================================
>  ===================
>  >
>  > 5:46:58 PM Build kind = AUTOBUILD
>  >
>  > 5:46:58 PM Project=clusteringmdb, kind of build
requested=Incremental
>  > AspectJ compilation
>  >
>  > 5:46:59 PM Preparing for build: planning to be an incremental build
>  >
>  > 5:46:59 PM AspectJ reports build successful, build was: INCREMENTAL
>  >
>  > 5:46:59 PM AJDE Callback: finish. Was full build: false
>  >
>  > 5:46:59 PM Timer event: 328ms: Total time spent in AJDE
>  >
>  > 5:46:59 PM Timer event: 0ms: Create element map (0 rels in project:
>  > clusteringmdb)
>  >
>  > 5:46:59 PM Timer event: 0ms: Add markers (0 markers)
>  >
>  > 5:46:59 PM Timer event: 344ms: Total time spent in
AJBuilder.build()
>  >
>  > 5:46:59 PM
>  >
>
========================================================================
>  ===================
>  >
>  > 5:46:59 PM Build kind = AUTOBUILD
>  >
>  > 5:46:59 PM Project=AppGUI, kind of build requested=Incremental
AspectJ
>  > compilation
>  >
>  > 5:46:59 PM Preparing for build: planning to be an incremental build
>  >
>  > 5:46:59 PM AspectJ reports build successful, build was: INCREMENTAL
>  >
>  > 5:46:59 PM AJDE Callback: finish. Was full build: false
>  >
>  > 5:46:59 PM Timer event: 718ms: Total time spent in AJDE
>  >
>  > 5:46:59 PM Timer event: 0ms: Create element map (0 rels in project:
>  AppGUI)
>  >
>  > 5:46:59 PM Timer event: 0ms: Add markers (0 markers)
>  >
>  > 5:46:59 PM Timer event: 734ms: Total time spent in
AJBuilder.build()
>  >
>  >
>  > _______________________________________________
>  >  ajdt-dev mailing list
>  >  ajdt-dev@xxxxxxxxxxx
>  >  https://dev.eclipse.org/mailman/listinfo/ajdt-dev
>  >
>  >
>  _______________________________________________
>  ajdt-dev mailing list
>  ajdt-dev@xxxxxxxxxxx
>  https://dev.eclipse.org/mailman/listinfo/ajdt-dev
>  _______________________________________________
>  ajdt-dev mailing list
>  ajdt-dev@xxxxxxxxxxx
>  https://dev.eclipse.org/mailman/listinfo/ajdt-dev
>
_______________________________________________
ajdt-dev mailing list
ajdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ajdt-dev


Back to the top