theigl opened a new pull request #423:
URL: https://github.com/apache/wicket/pull/423
This PR extracts the component's model and metadata from the
`Component.data` object.
The changes make manipulating metadata and models much simpler and improve
performance of retrieving metadata (see
https://issues.apache.org/jira/browse/WICKET-6771).
The tradeoff is that metadata is now always stored as an array. Previously,
a single metadata entry would have been stored as a simple object. That means
that components that have exactly one metadata entry now have a slightly higher
memory footprint (~20 bytes).
On the flip side, extracting the model from the data object can potentially
save some memory. When a component has a model and exactly one behavior, both
are now stored as objects. Previously, the model plus the behavior would have
been stored in an array. So we save about 20 bytes in this case.
Note: I kept the `data` object as-is. It still behaves the same way, i.e. it
stores an object for a single behavior and an array for multiple behaviors. I
do not see room for improvement without sacrificing additional memory. Also,
typing it as `Behavior[]` would not be possible because it also stores
`BehaviorIdLists`.
https://issues.apache.org/jira/browse/WICKET-6774
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org