Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] problems with load time weaving and rmi communication

Thilo,

Just as a quick follow up, the AspectJ 1.5.0 release adds some nontrivial
overhead per ClassLoader where you do weaving. When you are using RMI, the
VM can create a lot of different ClassLoaders for reflective acessors.

The experimental LTW version I pointed you at allows for sharing aspect
definitions and AspectJ delegates between ClassLoaders where it is safe (it
tests for nondelegation), so it should make a significant difference. I
haven't yet created a patch for this optimization, since as Andy noted, I'm
working with him to integrate some foundational memory improvements,
bringing them up to generally usable production quality :-)

The same issue applies for JSP's, where many containers create a large
number of lightweight ClassLoaders and maintaining heavyweight weaving state
for each results in major overhead.

-----Original Message-----
From: aspectj-users-bounces@xxxxxxxxxxx
[mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Thilo Focke
Sent: Friday, March 03, 2006 8:06 AM
To: aspectj-users@xxxxxxxxxxx
Subject: Re: [aspectj-users] problems with load time weaving and rmi
communication

Hi Matthew and Andy,

1. The memory usage when using RMI without the aspect ist absolutely
constant and in acceptable ranges (about 30-40 MByte). The memory usage
increases permanently when using the aspect. When using the aspect on code
without RMI communication the memory usage is constant (about 100MByte).

2. IŽm using  AspectJ 1.5.0, released on 20th December, 2005

3. My aop.xml looks like this

<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN"
"http://www.aspectj.org/dtd/aspectj_1_5_0.dtd";>
<aspectj>
    <weaver options="-proceedOnError -noWarn
-Xlintfile:META-INF/Xlint.properties">
        <include within="my.package..*"/>      
    </weaver>
    <aspects>        
        <aspect name="MyMonitor"/>
    </aspects>
</aspectj>

Thanks a lot,
Thilo

 


--------------->

Thilo,

Can I ask some questions:
1. What is the memory usage when you use RMI but not the aspect?
2. Which version of AspectJ are you using? We have made some enhancements 
recently in memory usage.
3. Do you use -verbose in the weaver options of aop.xml? If so could you 
post it. I think the problem might to do with creating lots of class 
loaders, each with a weaver and the accompanying footprint.

Cheers

Matthew Webster
AOSD Project
Java Technology Centre, MP146
IBM Hursley Park, Winchester,  SO21 2JN, England
Telephone: +44 196 2816139 (external) 246139 (internal) 
Email: Matthew Webster/UK/IBM @ IBMGB, matthew_webster@xxxxxxxxxx
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users




Back to the top