I have been thinking about the advantages and disadvantages of this
- Build view time is cut off, giving a speed improvement per each requests.
Test done shows around 8% improvement in page rendering and in ajax case
the improvement is even better, because in that case the build view time
has more weight.
- A lot less objects are allocated.
- Detection technique to enable this optimization is not 100% fail-safe.
- It could create memory fragmentation, making garbage collection slower.
- Higher memory footprint.
- It is difficult to keep the code synchronized between versions of JSF,
because each concept related to view handling affects how the view pool
- The use ui:param uses EL VariableResolver, makes the view non poolable,
because the ValueExpression instances are not stateless in this case.
Do the advantages justify the introduction of this concept? Will users find
the improvement useful or applicable in real projects? or does not worth
the complexity involved and in this case keep thing simple is better?