Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] New AspectJ compiler is very slow under AJDT

Andy,
 
Anything that reduces memory overhead would be great as this whole memory thing is killing me.  I have to restart my Eclipse instance every 30 minutes or so because of an "out of memory" crash.
 
Ron

________________________________

From: aspectj-users-bounces@xxxxxxxxxxx on behalf of Alexandru Popescu
Sent: Sat 3/18/2006 7:26 AM
To: aspectj-users@xxxxxxxxxxx
Subject: Re: [aspectj-users] New AspectJ compiler is very slow under AJDT


Hi Andy!

How can I monitor the memory usage? (using the Memory indicator or is it something else I can use).

tia,

./alex
--
.w( the_mindstorm )p.



On 3/18/06, Andy Clement <andrew.clement@xxxxxxxxx> wrote: 

	This is now fully fixed in AspectJ - the fix will make it into AJDT on Monday I hope.
	
	When it comes through in AJDT, I'd also be interested in comments from any users on memory usage of AJDT in their situation, it should be much improved. 
	
	
	Andy.
	
	
	On 16/03/06, Jeppe Cramon < jeppe@xxxxxxxxx <mailto:jeppe@xxxxxxxxx> > wrote: 

		Hi Andy
		
		Sounds good. It was a class which used an anonymous innerclass.
		
		/Jeppe
		
		Andy Clement wrote: 

			Ok - I know what the problem is, I've recreated it here.  It will affect anyone that has types which contain inner types.
			
			Andy.
			
			
			On 16/03/06, Andy Clement <andrew.clement@xxxxxxxxx> wrote: 

				To activate the little monitor in Eclipse 3.1 I used these instructions:
				
				http://andrei.gmxhome.de/monitor/index.html 
				
				Adding a space to a file should cause an incremental build of that one file - then although dependent projects are triggered to build, they should notice nothing actually changed in the incrementally built code and so they don't build at all. 
				
				I spent a lot of time a while ago getting this behaving correctly - but it is *exactly* where we've made some changes recently.  Is it at all possible for you to share the code with us? At least the class the modified by adding a space? (I think we need a bugzilla report for this) - there is something about the structure of it that is tripping us up.  You are now experiencing 5seconds of building the dependent projects that you shouldn't be - on any minor change. 
				
				
				Andy.
				
				
				On 16/03/06, Jeppe Cramon < jeppe@xxxxxxxxx <mailto:jeppe@xxxxxxxxx> > wrote: 

					Hi Andy
					
					I don't have a memory monitor installed. Can you recommend one for Eclipse 3.1.2?
					I hadn't tried the event trace before, but here're the stats from inserting a space into a Dao in the CoreModel and saving the file (the CoreRuntime and Portal projects are dependent on the CoreModel).
					
					12:01:22     Successfully unregistered Java Build Path property pages
					12:01:22     AJDTContentProvider.selectionChanged(): Marking visualiser content as out of date
					12:01:26     ===========================================================================================
					12:01:26     Build kind = AUTOBUILD
					12:01:26     Project=CoreModel         kind of build requested =Incremental AspectJ compilation
					12:01:26     build: Examined delta - source file changes in required project CoreModel
					12:01:26     Timer event: 422ms: Time to first compiled message
					12:01:26     Timer event: 422ms: Time to first woven message
					12:01:27     AspectJ reports build successful, build was: INCREMENTAL
					12:01:27     Timer event: 1532ms: Total time spent in AJDE
					12:01:28     Timer event: 188ms: Create element map (503 rels in project: CoreModel)
					12:01:28     Types affected during build = 1
					12:01:28     Timer event: 15ms: Add markers (165 markers)
					12:01:28     Timer event: 1812ms: Total time spent in AJBuilder.build()
					12:01:28     ===========================================================================================
					12:01:28     Build kind = AUTOBUILD
					12:01:28     Project=CoreRuntime         kind of build requested =Incremental AspectJ compilation
					12:01:28     Timer event: 640ms: Time to first compiled message
					12:01:28     Timer event: 687ms: Time to first woven message
					12:01:29     AspectJ reports build successful, build was: FULL
					12:01:30     Timer event: 1984ms: Total time spent in AJDE
					12:01:30     Timer event: 0ms: Create element map (1 rels in project: CoreRuntime)
					12:01:30     Types affected during build = 10
					12:01:30     Timer event: 0ms: Add markers (1 markers)
					12:01:30     Timer event: 2015ms: Total time spent in AJBuilder.build()
					12:01:30     ===========================================================================================
					12:01:30     Build kind = AUTOBUILD
					12:01:30     Project=Portal         kind of build requested =Incremental AspectJ compilation
					12:01:31     Timer event: 1110ms: Time to first compiled message
					12:01:31     Timer event: 1500ms: Time to first woven message
					12:01:32     AspectJ reports build successful, build was: FULL
					12:01:32     Timer event: 2891ms: Total time spent in AJDE
					12:01:32     Timer event: 31ms: Create element map (40 rels in project: Portal)
					12:01:32     Types affected during build = 54
					12:01:32     Timer event: 0ms: Add markers (10 markers)
					12:01:32     Timer event: 2938ms: Total time spent in AJBuilder.build()
					
					/Jeppe
					
					Andy Clement wrote: 

					thanks for all the stats!
					
					Are you using the AJDT event trace view to determine it is slower? (it records compile timings for projects) - or it just feels much worse?  I am aware of a small slowdown in that build you mention but that should be gone very soon when I can get the next AJ build into AJDT - that will hopefully happen in the next day or so depending on how my AOSD conference preparation goes today ...  these are dev builds and things have radically changed recently in the code base (using the asm toolkit for processing some types now, optimizing the structure model to death, reducing bytecode info stored between compiles), so there are bound to be a couple of builds where things are still settling down. 
					
					Do you have the memory monitor setup in your Eclipse 3.1.2?  I'd be interested in changes you see in memory usage with the next few builds ...
					
					if you want to keep up to date on performance/memory work for 1.5.1 , add yourself to 
					  https://bugs.eclipse.org/bugs/show_bug.cgi?id=128650
					
					Andy.
					
					
					On 16/03/06, Jeppe Cramon <jeppe@xxxxxxxxx> wrote: 

					Hi Andy
					
					I'm using version 1.3.1.20060313062224 which seems to use AspectJ version 1.5.0.20060313062224
					In my workspace I have the following projects with AspectJ support enabled:
					- 1 web project 
					- 4 Java projects
					All in all we probably have roughly around 300 classes that are exposed to weaving.
					
					I have 5 aspects which all in all crosscut 52 classes.
					The pointcuts are matching about 100 places. 
					50 out of the 100 are actually advised by Springs AbstractTransactionAspect which means that they really result in 4 advises coming into effect (before, after, after throwing, after returning advises)
					
					/Jeppe
					
					Andy Clement wrote: 

					Interesting ...
					
					Can you tell me exactly the date of the build you are using?
					
					Can you tell me the rough size of the project you are building and how much crosscutting you are doing? Are your pointcuts matching 10s of places or 1000s of places? 
					
					We have been specifically testing on the recent builds for performance and memory usage - memory is getting much better and should be at no cost to performance. (not all changes are in AJDT yet)
					
					Andy.
					
					
					On 15/03/06, Jeppe Cramon <jeppe@xxxxxxxxx > wrote: 

					Hi
					
					I updated to the latest AJDT 1.3.1.x build a couple of days ago and then
					tried again this morning (using Eclipse 3.1.2).
					Before the weaving part of AJDT was fairly fast, but has now become sooo
					slooow, that I'm thinking about removing AspectJ compile time weaving 
					and only use load time weaving.
					
					Has anyone else experienced the same decrease in speed?
					
					Thanks in advance
					
					/Jeppe Cramon
					_______________________________________________
					aspectj-users mailing list 
					aspectj-users@xxxxxxxxxxx
					https://dev.eclipse.org/mailman/listinfo/aspectj-users
					


					
________________________________

					
					_______________________________________________
					aspectj-users mailing list
					
					aspectj-users@xxxxxxxxxxx
					
					
					
					<mailto: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
					
					
					<mailto: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
			<mailto: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