Thanks for the performance-tuning links Dave. I Found a couple of
useful hints there.
Still... the "problem" seems to be the OGNL implementation in struts2.
It seems to me as if one should be VERY careful when using OGNL i.e.
make use of it very sparingly. in some of my jsps I descend fairly
deeply into my complex value objects consisting of maps and lists etc.
I dont have any benchmark results but it "feels" like the time taken
to render a jsp with lots of OGNL expressions increases exponentially
proportional to the depth of the used OGNL expression, for example:

<s:iterate ... >
     <s:property value="#object.a.b.c.name"/>
     <s:property value="#object.a.b.c.phone"/>
</s:iterate>

Which isn't a performance problem when writing the above code in pure
java - only when done in struts2 OGNL

Can anyone confirm this?

Perhaps OGNL is only meant to be used for accessing only immediate
properties of an object and not to descend down into complex
tree-object-graphs.?

--- Joe

On 6/24/08, Dave Newton <[EMAIL PROTECTED]> wrote:
> http://struts.apache.org/2.x/docs/performance-tuning.html
>
> Dave
>
>
> --- On Tue, 6/24/08, yorlick kilroy <[EMAIL PROTECTED]> wrote:
>
>> From: yorlick kilroy <[EMAIL PROTECTED]>
>> Subject: Slow performance with Struts2
>> To: user@struts.apache.org
>> Date: Tuesday, June 24, 2008, 10:23 AM
>> Hi,
>>
>> I was wondering if there is a way to tweak struts2
>> performance.
>> I ported an old struts1 application to struts2. I have jsps
>> that have
>> rather large and complex lists that I now iterate using
>> Struts2
>> <s:iterate> and OGNL instead of <logic:iterate>
>> and EL used in
>> struts1. I noticed that the performance using Struts2 is
>> pretty much
>> lower than that of the Struts1 application, especially when
>> displaying
>> large lists and descending into complex objects using OGNL.
>> I read that using dojo can cause this, but as far as I know
>> I'm not
>> (consciously) using dogo, ajax etc. just plain struts2
>> core.
>>
>> -- Joe
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail:
>> [EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to