Native Java serialization is waaaay over the top in what is spits out to
the stream. Each object that gets streamed has it's entire class name
and package name dumped to the stream. So an object that might only have
a 4 byte integer attribute in it takes up to 100 or more bytes in the
stream.

You could make it much more efficient if you did your own streaming.

Regards,
Chris

>-----Original Message-----
>From: Martin Makundi [mailto:martin.maku...@koodaripalvelut.com]
>Sent: Thursday, 23 February 2012 4:04 PM
>To: Bertrand Guay-Paquet
>Cc: users@wicket.apache.org
>Subject: Re: Performance optimization
>
>The problem is that the SERIALIZATION takes time. So it does not help
to
>ZIP AFTER serialization...
>
>I have debugged it and it's just thousands and thousands of components.
> Even printing the component paths alone take almost 10mb or more
because
>there is repetition ;)
>
>**
>Martin
>
>2012/2/23 Bertrand Guay-Paquet <ber...@step.polymtl.ca>
>
>> Hi,
>>
>> Have you seen the following thread?
>> http://apache-wicket.1842946.**n4.nabble.com/Shrinking-the-**
>> session-size-simply-by-**zipping-it-Saved-my-day-
>**td4402980.html<http://apache-wicket.1842946.n4.nabble.com/Shrinking-t
he-
>session-size-simply-by-zipping-it-Saved-my-day-td4402980.html>
>> Perhaps this can help you.
>>
>> That said, 10MB seems HUGE! Since you already use detachable models,
>maybe
>> you could have a look at a memory profiler like Java VisualVM to find
out
>> which objects take the most space.
>>
>> Bertrand
>>
>>
>> On 22/02/2012 10:12 PM, Martin Makundi wrote:
>>
>>> Hi!
>>>
>>> Any experiences how to optimize the performance of a Page that
>>> contains nested ListView:s with a total page serialized size of over
>>> 10 MB?
>>>
>>> I have made all actual data objects non-serializable and available
via
>>> loadabledetachablemodel, but page Serialization seems to kill the
>>> performance in ajax requests where I might be modifying just a
single
>>> cell in the maze.
>>>
>>> I tried callinc removeAll at onDetach... it improved performance but
>>> ofcourse event listeners don't work anymore ;) I could write custom
>>> event listeners as workaround, though, which would know to call
>>> onPopulate() before triggering an event.
>>>
>>> Any experiences of similar situation?
>>>
>>> **
>>> Martin
>>>
>>>
------------------------------**------------------------------**--------
>-
>>> To unsubscribe, e-mail: users-unsubscribe@wicket.**apache.org<users-
>unsubscr...@wicket.apache.org>
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to