--- On Thu, 1/28/10, Adam Heath <doo...@brainfood.com> wrote:

> From: Adam Heath <doo...@brainfood.com>
> Subject: Re: Discussion: FlexibleStringExpander refactor
> To: dev@ofbiz.apache.org
> Date: Thursday, January 28, 2010, 4:39 PM
> Adrian Crum wrote:
> > Adam Heath wrote:
> >> Adrian Crum wrote:
> >>> Adam Heath wrote:
> >>>> Adrian Crum wrote:
> >>>>> When I refactored
> FlexibleStringExpander.java a while ago (rev
> >>>>> 687442),
> >>>>> there were things I wanted to improve
> but couldn't - because I
> >>>>> wanted to
> >>>>> maintain backward-compatibility.
> >>>>>
> >>>>> Adam's recent memory-saving efforts
> reminded me of one of the things I
> >>>>> wanted to change in
> FlexibleStringExpander.java - I wanted to make the
> >>>>> object more lightweight.
> >>>>>
> >>>>> OFBiz can hold anywhere from tens of
> thousands to hundreds of
> >>>>> thousands
> >>>>> of these objects in memory, so an
> object size reduction could be
> >>>>> beneficial.
> >>>>>
> >>>>> With that under consideration, I would
> like to do a little more
> >>>>> work on
> >>>>> the class. What I have in mind is to
> keep the existing API the same
> >>>>> - to
> >>>>> preserve backward compatibility - but
> add an interface so that we can
> >>>>> make gradual changes to framework code
> that will improve memory use.
> >>>> Er, no.  Rewrites for the sole
> purpose of reducing memory are bad.
> >>>> Try to profile ofbiz first.  All the
> stuff I recently did was the
> >>>> direct outcome of inspecting memory
> dumps.
> >>> So those rewrites were NOT for the sole
> purpose of reducing memory?
> >>
> >> Er, I mean to say that don't just assume that you
> need to rewwrite it.
> >>
> >> I'm looking at the memory usage in heap analyzer
> right now.
> > 
> > I never assume. I evaluated it back when I did the
> original refactor -
> > which was done, by the way, for the sole purpose of
> reducing memory use.
> 
> Well, I just ran trunk, went straight to webtools, artifact
> info(got
> an exception), then dumped the heap with jmap, and looked
> at the file
> with heap analyzer.  I see 4749 instances in FSE's
> cache.  All the
> instances together take up only 426k of memory. 
> That's not a whole
> lot, considering that the total heap size of this dump is
> 200M.

Agreed - the cached expressions are not the memory wasters. The example I gave 
does not get cached.




Reply via email to