On the subject of profiling

View: New views
4 Messages — Rating Filter:   Alert me  

On the subject of profiling

by Dave Whittaker :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I've had some issues with memory usage lately so I started eclipse,  
did a clean/rebuild of an AspectJ project I'm working on, performed a  
heap dump and ran it through the memory analyzer.  I found that the  
org.aspectj.weaver.BcelWorld class is accounting for 40% of my total  
heap usage, about 259 meg worth after a single build.  Is that normal?

Dave Whittaker
Iradix, LLC
(p) 212.513.0874 x100
(f) 212.504.8213
dave@...

_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: On the subject of profiling

by Andy Clement :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Dave,

The world will be big - and gradually I work on shrinking it.  The
problematic object that surprised me is the model (discussed under
https://bugs.eclipse.org/bugs/show_bug.cgi?id=278496).  There are a
few things I plan to do to address it during 1.6.7.

In an ideal setup the World will shrink when not being used and grow
as necessary, pulling back in type information.  But it was never
designed like that in the first version of AJ and because it is a core
piece I have to be careful what I do with it.  In my blog post on LTW
memory usage ( http://andrewclement.blogspot.com/2009/04/aspectj-load-time-weaving-and-memory.html
) I describe a couple of flags that can *probably* also be used with
compile time weaving to reduce the world size - but they haven't had
enough testing for me to feel comfortable having that behaviour
default to enabled.

Andy

2009/10/8 Dave Whittaker <dave@...>:

> I've had some issues with memory usage lately so I started eclipse, did a
> clean/rebuild of an AspectJ project I'm working on, performed a heap dump
> and ran it through the memory analyzer.  I found that the
> org.aspectj.weaver.BcelWorld class is accounting for 40% of my total heap
> usage, about 259 meg worth after a single build.  Is that normal?
>
> Dave Whittaker
> Iradix, LLC
> (p) 212.513.0874 x100
> (f) 212.504.8213
> dave@...
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: On the subject of profiling

by Dave Whittaker :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks Andy, that helps. Should I expect then that during a clean/
build AJ will pull more or less everything it needs into the world and  
I won't see it grow significantly larger over time?  If that's the  
case than it's most likely not the main culprit since I'm seeing my  
Eclipse instances grow to over a gig of usage after a few days.

On Oct 8, 2009, at 5:14 PM, Andy Clement wrote:

> Hi Dave,
>
> The world will be big - and gradually I work on shrinking it.  The
> problematic object that surprised me is the model (discussed under
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=278496).  There are a
> few things I plan to do to address it during 1.6.7.
>
> In an ideal setup the World will shrink when not being used and grow
> as necessary, pulling back in type information.  But it was never
> designed like that in the first version of AJ and because it is a core
> piece I have to be careful what I do with it.  In my blog post on LTW
> memory usage ( http://andrewclement.blogspot.com/2009/04/aspectj-load-time-weaving-and-memory.html
> ) I describe a couple of flags that can *probably* also be used with
> compile time weaving to reduce the world size - but they haven't had
> enough testing for me to feel comfortable having that behaviour
> default to enabled.
>
> Andy
>
> 2009/10/8 Dave Whittaker <dave@...>:
>> I've had some issues with memory usage lately so I started eclipse,  
>> did a
>> clean/rebuild of an AspectJ project I'm working on, performed a  
>> heap dump
>> and ran it through the memory analyzer.  I found that the
>> org.aspectj.weaver.BcelWorld class is accounting for 40% of my  
>> total heap
>> usage, about 259 meg worth after a single build.  Is that normal?
>>
>> Dave Whittaker
>> Iradix, LLC
>> (p) 212.513.0874 x100
>> (f) 212.504.8213
>> dave@...
>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@...
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users

_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Re: On the subject of profiling

by Andy Clement :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

It should not grow over time - it is kind of a 'working set' of types
that need to be around.  The model will also be large but should not
grow.

If either of those do grow significantly on each build, it is a bug.

I wish my eclipse could stay up for a few days :)

Andy

2009/10/8 Dave Whittaker <dave@...>:

> Thanks Andy, that helps. Should I expect then that during a clean/build AJ
> will pull more or less everything it needs into the world and I won't see it
> grow significantly larger over time?  If that's the case than it's most
> likely not the main culprit since I'm seeing my Eclipse instances grow to
> over a gig of usage after a few days.
>
> On Oct 8, 2009, at 5:14 PM, Andy Clement wrote:
>
>> Hi Dave,
>>
>> The world will be big - and gradually I work on shrinking it.  The
>> problematic object that surprised me is the model (discussed under
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=278496).  There are a
>> few things I plan to do to address it during 1.6.7.
>>
>> In an ideal setup the World will shrink when not being used and grow
>> as necessary, pulling back in type information.  But it was never
>> designed like that in the first version of AJ and because it is a core
>> piece I have to be careful what I do with it.  In my blog post on LTW
>> memory usage (
>> http://andrewclement.blogspot.com/2009/04/aspectj-load-time-weaving-and-memory.html
>> ) I describe a couple of flags that can *probably* also be used with
>> compile time weaving to reduce the world size - but they haven't had
>> enough testing for me to feel comfortable having that behaviour
>> default to enabled.
>>
>> Andy
>>
>> 2009/10/8 Dave Whittaker <dave@...>:
>>>
>>> I've had some issues with memory usage lately so I started eclipse, did a
>>> clean/rebuild of an AspectJ project I'm working on, performed a heap dump
>>> and ran it through the memory analyzer.  I found that the
>>> org.aspectj.weaver.BcelWorld class is accounting for 40% of my total heap
>>> usage, about 259 meg worth after a single build.  Is that normal?
>>>
>>> Dave Whittaker
>>> Iradix, LLC
>>> (p) 212.513.0874 x100
>>> (f) 212.504.8213
>>> dave@...
>>>
>>> _______________________________________________
>>> aspectj-users mailing list
>>> aspectj-users@...
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@...
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@...
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@...
https://dev.eclipse.org/mailman/listinfo/aspectj-users