Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [ajdt-dev] AJDT Aspect comment modification take 3 minutes to rebuild with multiple projects

The source is below:

public aspect RMISerializationPerf {
	pointcut rmiSerializationCall() : 
		call( Object+ javax.rmi.CORBA.Util.copyObject(Object+, org.omg.CORBA.ORB+)) ||
		call( Object* javax.rmi.CORBA.Util.copyObjects(Object*, org.omg.CORBA.ORB+));
	
	Object around() : rmiSerializationCall()
	{
		SubAuditor subAuditor = new SubAuditor(Auditable.RMI_SERIALIZATION_ACTION_AUDIT);
		Object result = proceed();
		subAuditor.end();
		return result;
	}

}

So space in Aspect have been tested before and you believe it's an exceptional circumstance?

Still, space in comment is not going to have effect on any kind of aspect.

-----Original Message-----
From: ajdt-dev-bounces@xxxxxxxxxxx [mailto:ajdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Andy Clement
Sent: Thursday, September 03, 2009 2:52 PM
To: ajdt-dev@xxxxxxxxxxx
Subject: Re: [ajdt-dev] AJDT Aspect comment modification take 3 minutes to rebuild with multiple projects

Should probably be raised then.

This line in your trace:

9:23:57 ClassFileChangeChecking: aspect found that has structurally
changed or that this project depends upon :
C:\cc_views_6.0_dev3\ctsource\java\framework\bin\com\saic\ct\aj\monitor\
RMISerializationPerf.class

indicates that something in your aspect is being considered a
structural change - it may not be the change you made, it may be a
problem with the representation of another construct you are using.  I
imagine you can't give me the aspect source, but I would at least need
to know all the types of construct you are using:

advice, declare parents, pointcuts, other types of declare, etc? is it
extending another aspect? what constructs does that super aspect use?

Andy

2009/9/3 Sebastien Tardif <stardif@xxxxxxxxxxxx>:
> I don't think so. Last time I opened a bug was about space in a Java method not an aspect.
>
> -----Original Message-----
> From: ajdt-dev-bounces@xxxxxxxxxxx [mailto:ajdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Andy Clement
> Sent: Thursday, September 03, 2009 12:55 PM
> To: ajdt-dev@xxxxxxxxxxx
> Subject: Re: [ajdt-dev] AJDT Aspect comment modification take 3 minutes to rebuild with multiple projects
>
> Has this been raised as a bug yet?
>
> Andy
>
> 2009/8/26 Sebastien Tardif <stardif@xxxxxxxxxxxx>:
>> I have 46 projects in the workspace. 2 projects define aspects. A total
>> of 4 projects have AspectJ enabled on them.
>>
>> I do not use inpath. I use aspect path when I want a project be weaved
>> by the aspect defined by another project.
>>
>> I do not use groovy, and it was not explicitly installed.
>>
>> To be able to use AJDT in the development of our software this issue and
>> most importantly https://bugs.eclipse.org/bugs/show_bug.cgi?id=287555
>> would have to be fixed or the productivity lost is too significant.
>>
>> A full trace about putting a space in the JavaDoc will be sent shortly
>> to your private email.
>>
>> Below is some extract of the full trace:
>>
>> 9:23:56
>> ========================================================================
>> ===================
>> 9:23:56 Build kind = AUTOBUILD
>> 9:23:56 Project=framework, kind of build requested=Incremental AspectJ
>> compilation
>> 9:23:56 Timer event: 0ms: Flush included source file cache
>> 9:23:56 Timer event: 15ms: Check delta
>> 9:23:56 File:
>> C:\cc_views_6.0_dev3\ctsource\java\framework\src\com\saic\ct\aj\monitor\
>> RMISerializationPerf.aj has changed.
>> 9:23:56 build: Examined delta - 1 changed, 0 added, and 0 deleted source
>> files in required project framework
>> 9:23:56 Timer event: 0ms: Looking for and marking configuration changes
>> in framework
>> 9:23:56         Configuration changes found: true
>> 9:23:56 Timer event: 0ms: Look for source/resource changes
>> 9:23:56 Compiler configuration for project ctaspects doesn't know
>> previous state, so assuming EVERYTHING has changed.
>> 9:23:56 Setting list of classpath elements with modified contents:
>> 9:23:56       []
>> 9:23:56 Classpath = ...
>> 9:23:56 Timer event: 78ms: Pre compile
>> 9:23:56 Sending the following configuration changes to the compiler: []
>> 9:23:56 3 source file changes since last build
>> 9:23:56 Compiler configuration for project framework has been read by
>> compiler.  Resetting.
>> 9:23:56      Configuration was []
>> 9:23:56 Resetting list of modified source files.  Was
>> [C:\cc_views_6.0_dev3\ctsource\java\framework\src\com\saic\ct\aj\monitor
>> \RMISerializationPerf.aj,
>> C:\cc_views_6.0_dev3\ctsource\java\framework\src\com\saic\ct\aj\monitor\
>> RMISerializationPerf.aj,
>> C:\cc_views_6.0_dev3\ctsource\java\framework\src\com\saic\ct\aj\monitor\
>> RMISerializationPerf.aj]
>> 9:23:56 Preparing for build: planning to be an incremental build
>> 9:23:56 Starting incremental compilation loop 1 of possibly 5
>> 9:23:56 AJC: compiling source files
>> 9:23:57 Timer event: 500ms: Time to first compiled message
>> 9:23:57 AJC: compiled:
>> C:\cc_views_6.0_dev3\ctsource\java\framework\src\com\saic\ct\aj\monitor\
>> RMISerializationPerf.aj
>> 9:23:57 Timer event: 500ms: Time to first woven message
>> 9:23:57 AJC: woven aspect com.saic.ct.aj.monitor.RMISerializationPerf
>> (from
>> C:\cc_views_6.0_dev3\ctsource\java\framework\src\com\saic\ct\aj\monitor\
>> RMISerializationPerf.aj)
>> 9:23:57 addSourcelineTask message=The import org.omg.CORBA.ORB is never
>> used
>> file=C:\cc_views_6.0_dev3\ctsource\java\framework\src\com\saic\ct\aj\mon
>> itor\RMISerializationPerf.aj line=11
>> 9:23:57 addSourcelineTask message=advice defined in
>> com.saic.ct.aj.monitor.RMISerializationPerf has not been applied
>> [Xlint:adviceDidNotMatch]
>> file=C:\cc_views_6.0_dev3\ctsource\java\framework\src\com\saic\ct\aj\mon
>> itor\RMISerializationPerf.aj line=30
>> 9:23:57 addSourcelineTask message=advice defined in
>> com.saic.ct.aj.monitor.AspectJRuntimeMonitor has not been applied
>> [Xlint:adviceDidNotMatch]
>> file=C:\cc_views_6.0_dev3\ctsource\java\framework\src\com\saic\ct\aj\mon
>> itor\AspectJRuntimeMonitor.aj line=23
>> 9:23:57 Examining whether any other files now need compilation based on
>> just compiling:
>> '{C:\cc_views_6.0_dev3\ctsource\java\framework\src\com\saic\ct\aj\monito
>> r\RMISerializationPerf.aj}'
>> 9:23:57 AspectJ reports build successful, build was: INCREMENTAL
>> 9:23:57 AJDE Callback: finish. Was full build: false
>> 9:23:57 Timer event: 578ms: Total time spent in AJDE
>> 9:23:57 Timer event: 0ms: Refresh after build
>> 9:23:57 Types affected during build = 1
>> 9:23:57 Not adding marker for problem because it's against a resource
>> which is not in the list of affected resources provided by the compiler.
>> Resource=L/framework/src/com/saic/ct/aj/monitor/AspectJRuntimeMonitor.aj
>> Problem message=advice defined in
>> com.saic.ct.aj.monitor.AspectJRuntimeMonitor has not been applied
>> [Xlint:adviceDidNotMatch] line=23
>> 9:23:57 Crosscutting model sanity checked with no problems
>> 9:23:57 Timer event: 0ms: Model sanity check for: framework
>> 9:23:57 Timer event: 688ms: Total time spent in AJBuilder.build()
>> 9:23:57 Timer event: 0ms: Update visualizer, xref, advice listeners for
>> (separate thread): framework
>> 9:23:57
>> ========================================================================
>> ===================
>> 9:23:57 Build kind = AUTOBUILD
>> 9:23:57 Project=svcapp, kind of build requested=Incremental AspectJ
>> compilation
>> 9:23:57 Timer event: 0ms: Flush included source file cache
>> 9:23:57 Timer event: 0ms: Check delta
>> 9:23:57 Timer event: 0ms: Looking for and marking configuration changes
>> in svcapp
>> 9:23:57         Configuration changes found: false
>> 9:23:57 build: Examined delta - no source file or classpath changes for
>> project svcapp
>> 9:23:57 Timer event: 0ms: Looking for and marking configuration changes
>> in blazeruleservices
>> 9:23:57         Configuration changes found: false
>> 9:23:57 Timer event: 0ms: Looking for and marking configuration changes
>> in marshaller
>> 9:23:57         Configuration changes found: false
>> 9:23:57 File:
>> C:\cc_views_6.0_dev3\ctsource\java\framework\src\com\saic\ct\aj\monitor\
>> RMISerializationPerf.aj has changed.
>> 9:23:57 build: Examined delta - 1 changed, 0 added, and 0 deleted source
>> files in required project framework
>> 9:23:57 Timer event: 0ms: Looking for and marking configuration changes
>> in framework
>> 9:23:57         Configuration changes found: true
>> 9:23:57 Timer event: 0ms: Look for source/resource changes
>> 9:23:57 Setting list of classpath elements with modified contents:
>> 9:23:57       [C:/cc_views_6.0_dev3/ctsource/java/framework/bin]
>> 9:23:57 Classpath = ...
>> 9:23:57 Timer event: 78ms: Pre compile
>> 9:23:57 Sending the following configuration changes to the compiler: []
>> 9:23:57 0 source file changes since last build
>> 9:23:57 Compiler configuration for project svcapp has been read by
>> compiler.  Resetting.
>> 9:23:57      Configuration was []
>> 9:23:57 Resetting list of modified source files.  Was []
>> 9:23:57 ClassFileChangeChecking: found state instance managing output
>> location : C:\cc_views_6.0_dev3\ctsource\java\framework\bin
>> 9:23:57 Seems this has changed
>> C:\cc_views_6.0_dev3\ctsource\java\framework\bin\com\saic\ct\aj\monitor\
>> RMISerializationPerf.classmodtime=1251293036750 lsbt=1251291961031
>> incoming check value=1251292008841
>> 9:23:57 AjState(svcapp): type
>> com/saic/ct/aj/monitor/AspectJRuntimeMonitor is not depended upon by
>> this state
>> 9:23:57 ClassFileChangeChecking: found aspect on classpath but this
>> project doesn't reference it, continuing to try for incremental build :
>> C:\cc_views_6.0_dev3\ctsource\java\framework\bin\com\saic\ct\aj\monitor\
>> AspectJRuntimeMonitor.class
>> 9:23:57 AjState(svcapp): type
>> com/saic/ct/aj/monitor/JMSSerializationPerf is not depended upon by this
>> state
>> 9:23:57 ClassFileChangeChecking: found aspect on classpath but this
>> project doesn't reference it, continuing to try for incremental build :
>> C:\cc_views_6.0_dev3\ctsource\java\framework\bin\com\saic\ct\aj\monitor\
>> JMSSerializationPerf.class
>> 9:23:57 ClassFileChangeChecking: aspect found that has structurally
>> changed or that this project depends upon :
>> C:\cc_views_6.0_dev3\ctsource\java\framework\bin\com\saic\ct\aj\monitor\
>> RMISerializationPerf.class
>> 9:24:5 Preparing for build: not going to be incremental because path
>> change detected (one of classpath/aspectpath/inpath/injars)
>> 9:24:5 Falling back to batch compilation
>> 9:24:5 Preparing for build: not going to be incremental because no
>> successful previous full build
>>
>> -----Original Message-----
>> From: ajdt-dev-bounces@xxxxxxxxxxx [mailto:ajdt-dev-bounces@xxxxxxxxxxx]
>> On Behalf Of Andrew Eisenberg
>> Sent: Wednesday, August 26, 2009 12:31 AM
>> To: ajdt-dev@xxxxxxxxxxx
>> Subject: Re: [ajdt-dev] AJDT Aspect comment modification take 3 minutes
>> to rebuild with multiple projects
>>
>> Hi Sebastian,
>>
>> It does seem strange that a white space change will cause a full build
>> and reweave of your project.  I'd like to know a little more about
>> your set up:
>>
>> 1. How big are your projects?  How many are involved?
>>
>> 2. are you using inpath?  We have not spent much time optimizing for
>> in path usage.  If this turns out to be an issue for you, then there
>> are ways you can by pass this.
>>
>> 3. do you have the groovy plugin installed?  We are currently working
>> out some issues between the two plugins.  I don't think it will, but
>> there *might* be an issue with incremental builds if both plugins are
>> installed.
>>
>> 4. Can you open the AJDT Event trace view, in the filter select all,
>> and then send an attachment of the results to the list (or send to me
>> personally, if there is proprietary information involved)?
>>
>> A whitespace change of any file should trigger a build, but the build
>> should finish in an unnoticeable amount of time.
>>
>> On Tue, Aug 25, 2009 at 1:44 PM, Sebastien Tardif<stardif@xxxxxxxxxxxx>
>> wrote:
>>> It seems optimization that have been made with multiple projects
>> didn't
>>> try to improve modification to Aspect because when I put a space in
>> the
>>> JavaDoc it takes at least 3 minutes for the automatic build to finish.
>>>
>>> Maybe we should compare binary result of the compilation of the aspect
>>> then not trigger anything to the other projects if nothing was really
>>> modified, like this that will also handle space modification in the
>>> code.
>>> _______________________________________________
>>> 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
> _______________________________________________
> 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