CPU impact for repeated calls to isRenderer on UIXComponentBase
---------------------------------------------------------------
Key: TRINIDAD-1809
URL: https://issues.apache.org/jira/browse/TRINIDAD-1809
Project: MyFaces Trinidad
Issue Type: Bug
Components: Components
Reporter: Stevan Malesevic
While using Trinidad framework we noticed that even with very complex app
having complex bus logic we still spend some 2-3% of time doing checks on
isRenderer() on UIXComponentBase. In general the problem is that number of
these are EL expression on some EL expressions are not very cheap to evaluate.
Now, the fact that there are number of duplicate checks makes the cost higher.
The big chunk of calls comes from 3 areas
1. encodeBegin, encodeChild and encodeEnd all do the check
2. __encodeRecursive does a check and then invokes methods from 1.
3. CoreRenderer.encodeChild also does a check and then calls group 1.
Generally it should be possible to mark renderer as local property at the
begging of comp rendering and use it . This should save a 1/3 of cpu cycles
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.