[ 
https://issues.apache.org/struts/browse/WW-2998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45604#action_45604
 ] 

Matthew Seaborn commented on WW-2998:
-------------------------------------

Following the submission of this issue it occured to me that the class loading 
structure of the Tomcat server in which this issue is being experienced is odd.

All of the JARs can be found in the /jre/lib/ext directory and are referenced 
using the common.loader in catalina.properties.

> Serious OGNL Performance Issues
> -------------------------------
>
>                 Key: WW-2998
>                 URL: https://issues.apache.org/struts/browse/WW-2998
>             Project: Struts 2
>          Issue Type: Improvement
>          Components: Expression Language
>    Affects Versions: 2.0.11
>         Environment: Windows XP 5.1 (2Gb, dual-core 1.8GHz), Java 1.5.0_08,  
> Tomcat 5.5
>            Reporter: Matthew Seaborn
>
> I am currently running Struts 2.0.11 (planning to upgrade soon) with OGNL 
> 2.6.11 and am having significant trouble with the appalling performance of 
> OGNL.  
> The following XML using Struts 2 Tags and OGNL takes (using the s2 profiling) 
> 2328ms to render
> <%@ page contentType="text/xml" %><%--
> --%><%@ taglib prefix="s" uri="/struts-tags" %><%--
> --%><%@ taglib uri="http://java.sun.com/jsp/jstl/core"; prefix="c" %><%--
> --%><?xml version="1.0" ?>
> <response>
>       <entities>
>             <s:iterator value="entities" id="entity">
>                   <entity <%--
>                   --%>id="<s:property value="id"/>" <%--
>                   --%>name="<s:property value="name"/>" <%--
>                   --%>externalId="<s:property value="externalId"/>" <%--
>                   --%>color="<s:property value="renderColor"/>" <%--
>                   --%>image="<s:property value="image.path"/>" <%--
>                   --%>includeInKey="<s:property value="includeInKey"/>" <%--
>                   --%>orderRank="<s:property value="orderRank"/>" <%--
>                   --%> />
>             </s:iterator>
>       </entities>
> </response>
> The exact same functionality, using JSTL tags and EL, takes 15ms
> <%@ page contentType="text/xml" %><%--
> --%><%@ taglib prefix="s" uri="/struts-tags" %><%--
> --%><%@ taglib uri="http://java.sun.com/jsp/jstl/core"; prefix="c" %><%--
> --%><?xml version="1.0" ?>
> <response>
>       <entities>
>             <c:forEach items="${entities}" var="entity">
>                   <entity <%--
>                   --%>id="<c:out value="${entity.id}"/>" <%--
>                   --%>name="<c:out value="${entity.name}"/>" <%--
>                   --%>externalId="<c:out value="${entity.externalId}"/>" <%--
>                   --%>color="<c:out value="${entity.renderColor}"/>" <%--
>                   --%>image="<c:out value="${entity.image.path}"/>" <%--
>                   --%>includeInKey="<c:out value="${entity.includeInKey}"/>" 
> <%--
>                   --%>orderRank="<c:out value="${entity.orderRank}"/>" <%--
>                   --%> />
>             </c:forEach>
>       </entities>
> </response>
> In this case the S2/OGNL is 150x (!!!!!) slower than the JSTL/EL approach.  
> Now clearly in this case the JSTL/EL approach can be used to get decent 
> performance, but when using S2's Freemarker based tags that option isn't 
> available.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to