Exact same scenario followed for these two sessions:

with boolean (current Wicket LDM):

330661 object live, shallow size 18,025,792, retained: 18,025,792
51 LDM instances, shallow size 1624, retained: 1,704

without boolean (custom LDM):
330438 objects live, shallow size 17,790,424, retained 17,790,424
51 LDM instances, shallow size 1,224, retained 1,304

The shallow size of a LDM instance went from 32 bytes to 24 bytes.

I think this is worth the change.

Martijn

On 11/1/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
+1

tell us how it profiles w/out the boolean

-igor


On 11/1/06, Martijn Dashorst <[EMAIL PROTECTED]> wrote:
>
> All,
>
> While profiling we see that the LoadableDetachableModel uses some
> memory. Currently the LDM keeps track of whether it is attached in a
> transient boolean.
>
> If we change the semantics that a null tempModelObject == detached,
> and a non-null tempModelObject == attached, we can remove the boolean
> and reduce the footprint of the LDM.
>
> BTW, the LDM is one of the most commonly used models in our app
> (37000+ instances in a 60 user session, giving a shallow size of 2.1MB
> and a retained size of 2.9MB).
>
> Any objections or thoughts?
>
> Martijn
>
> --
> <a href="http://www.thebeststuffintheworld.com/vote_for/wicket";>Vote</a>
> for <a href="http://www.thebeststuffintheworld.com/stuff/wicket
> ">Wicket</a>
> at the <a href="http://www.thebeststuffintheworld.com/";>Best Stuff in
> the World!</a>
>




--
<a href="http://www.thebeststuffintheworld.com/vote_for/wicket";>Vote</a>
for <a href="http://www.thebeststuffintheworld.com/stuff/wicket";>Wicket</a>
at the <a href="http://www.thebeststuffintheworld.com/";>Best Stuff in
the World!</a>

Reply via email to