> Thanks for sending the test application. I've been using monthlist.jsp
while
> testing rendered then hand bashed code. After some preliminary bashing :)
> I think it will be possible to call all setters (except runtime
expressions)
> only once per run of the page. Also, we can create / obtain tag handler
instances
> only once per page run.
That is an excellent start!
> Anyway... after tweaking the rendered code, I was disappointed that there
> wasn't much of a change in the performance when I hit the page directly.
> The "optimized" version was even a bit slower :( So, I hooked it up to a
> profiler. It said that most of the time was being spent in
> webwork.util.ValueStack.findValue which is called from some of
> the setters and some of the do[Start|End]Tag methods.
Yeah, it's the by far most used method, and also where most of the magic
happens (name->value conversions). I've been tweaking it some, but probably
not enough.
> So, Is there any way you could send me a new webwork.jar (no need for the
> whole .war) that has tag implementations optimized for tag instance and
> setter call reuse?. If you can move some/many of the calls to
ValueStack.findValue
> out of the doStart/doEnd methods, that should help.
I will start working on this after the weekend. However I am also rewriting
most of the tags for a new and simpler syntax, which is going to take some
coding time too, since all the examples need to be modified, docs, etc. I
will let you know as soon as possible though when the opts. are done.
> Yes, I know this doesn't solve the problem of why weblogic was faster
> for you, but any tag related optimizations we can make should help other
> tag users (me and my day job included).
Yup, that was the basic idea when I started this thread :-) Glad to see
things happen! :-)
> If you send a new jar, I'll test it out and let you know.
Will do.
/Rickard