1000 on a page? Really? That seems very odd to me given my
experience. What would a page like that look like? Do you have
examples?
On 4/17/05, Kevin Burton <[EMAIL PROTECTED]> wrote:
> QM wrote:
>
> >On Sun, Apr 17, 2005 at 03:44:59PM -0700, Kevin Burton wrote:
> >: We've had a few bottlenecks in our code that have since been removed but
> >: the remaining big bottleneck is Tomcat. The JSP engine is creating
> >: compiled code that is heavily relying on reflection.
> >: [snip]
> >:
> >: Is there ANY way to get Tomcat to not use reflection in this situation.
> >
> >How could a tag work without reflection?
> >For example, if you use any of the expression-language features, how is
> >Tomcat supposed to react to, say,
> >
> > ${request.somvar.something}
> >
> >without dynamic invocation?
> >
> >
> >
> I'm not sure about this mechanism but if you take a function like:
>
> <c:set var="test" value="${foo:bar()}" />
>
> and rewrite it to use
>
> <c:set var="test">
> <foo:bar/>
> </c:set>
>
> Then it won't use reflection.
>
> This is why c:set and c:choose and so forth work so well.
>
> There isn't a perf penalty here.
>
> So this means I'll have to rewrite all my function calls to elements
> that are in tight loops.
>
> There's also no reason that it MUST use reflection. I mean its a CODE
> generator so all you have to do is generate code that doesn't use
> reflection and calls the methods directly.
>
> There.s about a .5ms overhead for reflected functions and if you have
> 1000 on a page (EASY!) then it will be DOG slow.
>
> >While I doubt you could make Tomcat not use reflection (without
> >completely hacking the source) perhaps you could share more details of
> >what you're doing... that may give the rest of us insight to help you
> >trim the bottlenecks more. i.e. you mention lots of looping and
> >tag nesting; is there any way to change how that's done?
> >
> >
> >
> Well I think I'm going to have to review all forms of code that cause
> this and rewrite them.
>
> The BIGGEST problem as I currently see it is with .tag files. These use
> reflection but I can't figure out a way to rewrite them.
>
> I think if i were to do this it would yield DRAMATIC performance
> improvements.
>
> The REAL issue is that enabling developers to shoot themselves in the
> foot like this is really irresponsible and probably needs to be removed
> or a HUGE warning be placed before examples.
>
> Kevin
>
> --
>
> Use Rojo (RSS/Atom aggregator)! - visit http://rojo.com.
> See irc.freenode.net #rojo if you want to chat.
>
> Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html
>
> Kevin A. Burton, Location - San Francisco, CA
> AIM/YIM - sfburtonator, Web - http://peerfear.org/
> GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
"You can lead a horse to water but you cannot make it float on its back."
~Dakota Jack~
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]