myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Arne Reinhardt (Created) (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Created] (MYFACES-3461) HtmlRendererUtils.renderSelectOptions() performs many unnecessary calls to View Bean
Date Wed, 08 Feb 2012 16:44:59 GMT
HtmlRendererUtils.renderSelectOptions() performs many unnecessary calls to View Bean
------------------------------------------------------------------------------------

                 Key: MYFACES-3461
                 URL: https://issues.apache.org/jira/browse/MYFACES-3461
             Project: MyFaces Core
          Issue Type: Improvement
          Components: General
    Affects Versions: 2.1.6, 2.0.7
            Reporter: Arne Reinhardt
            Priority: Minor


The Problem appeared testing with myfaces-impl-2.0.7 and is still visible in the 2.1.6 Code.

HtmlRendererUtils.renderSelectOptions() loops over all SelectItems of a SelectBox to render
them.
Rendering depends on the activation state of both the item to be rendered and the entire SelectBox.
Therefore the method queries the "diasbled" property of the UI component to be rendered (SelectBox).
This is performed in the SelectItem-Loop so it may happen very often (depending on the size
of the Select-List).
It happens that queriing the "disabled" property implies calling the ViewBean to obtain the
SelectItem-List (which the Method itself loops over!). This can be a perfromance issue if
obtaining the SelectItem-List takes some time (in our example every single call  took 10ms
and the list consisted of 150 items so the call was performed 150 times which adds up to 1.5s).
Anyway there is a lot of unnecessary Reflection and Method Calls to be avoided.

We solved the issue by simply moving the detection of the UI component's "disabled"-Property
out of the loop.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message