struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Johannes Geppert (Assigned) (JIRA)" <j...@apache.org>
Subject [jira] [Assigned] (WW-3750) ScopesHashModel calls OgnlValueStack.findValue too many times during rendering freemarker templates
Date Fri, 03 Feb 2012 19:59:54 GMT

     [ https://issues.apache.org/jira/browse/WW-3750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Johannes Geppert reassigned WW-3750:
------------------------------------

    Assignee: Johannes Geppert
    
> ScopesHashModel calls OgnlValueStack.findValue too many times during rendering freemarker
templates
> ---------------------------------------------------------------------------------------------------
>
>                 Key: WW-3750
>                 URL: https://issues.apache.org/jira/browse/WW-3750
>             Project: Struts 2
>          Issue Type: Improvement
>          Components: Value Stack
>    Affects Versions: 2.3.1.1
>            Reporter: Pelladi Gabor
>            Assignee: Johannes Geppert
>            Priority: Minor
>              Labels: patch, performance
>             Fix For: 2.3.2
>
>         Attachments: WW-3750-2.diff, WW-3750.diff
>
>
> I saw using a profiler, that OgnlValueStack.findValue(String) gets called about a thousand
times during rendering a page. Most of the calls are coming from ScopesHashModel.
> All freemarker templates contain a lot of references to e.g. "parameters". This variable
is evaluated in ScopesHashModel over and over again, which takes about 10% time of total page
load.
> I think we can assume, that the top-level objects on the value stack will not change
during rendering a single struts2 tag. So with a little caching, we can eliminate most of
the findValue method calls.
> In my application I tested this modification and didn't notice any side effects or bugs.
The OgnlValueStack.findValue(String) calls on a test page went down from a thousand to a hundred.
This improved overall page rendering time from about 400ms to 360ms.
> Patch is attached.
> Please review it.

--
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