You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Aaron J. Garcia (JIRA)" <ji...@apache.org> on 2015/09/14 21:51:46 UTC

[jira] [Created] (WICKET-5981) Significant Performance Degradation From Wicket 6.20.0 to Wicket 7.0.0

Aaron J. Garcia created WICKET-5981:
---------------------------------------

             Summary: Significant Performance Degradation From Wicket 6.20.0 to Wicket 7.0.0
                 Key: WICKET-5981
                 URL: https://issues.apache.org/jira/browse/WICKET-5981
             Project: Wicket
          Issue Type: Bug
          Components: wicket
    Affects Versions: 7.0.0
         Environment: OpenSuse 13.1
Intellij 14.1.4
JDK 1.8.0_60
Solid State Hard Drive
24 GB RAM
            Reporter: Aaron J. Garcia


I am experiencing a significant performance degradation for component adds in Wicket 7.0.0, once the component tree for a page gets reasonably large.

The attached quick start can be used to reproduce the issue.  Please note that NUM_ROWS is set to 10,000 to exaggerate the performance degradation as the size of the component tree increases.  The same degradation (to a lesser extent) can be viewed with a smaller NUM_ROWS variable.

In Wicket 6.20.0, as the size of the component tree increases, the cost of add() remains relatively constant time-wise.  In Wicket 7.0.0, a component add () is much more expensive (and actually makes our internal web application unusable) with form submits taking more than two or three minutes to come back from the server.

Here's some timing examples.  

===========================================================

NUM_ROWS = 5000
Wicket 6.20.0 -> ~200 milliseconds of server side rendering (before browser paints HTML).
Wicket 7.0.0 -> ~ 10 seconds of server side rendering

NUM_ROWS = 10000
Wicket 6.20.0 -> ~ 500 milliseconds of server side rendering
Wicket 7.0.0 -> ~ 40 seconds of server side rendering

===========================================================

The attached quickstart can be used to reproduce the issue on your side.  My guess is that this has to do with the new component queuing feature that was added as part of Wicket 7.0.0.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)