I think one of the committers needs to step up, take the patch, and clean it up, incorporating discussion.
I'll do this in the next couple of weeks unless someone beats me to it. I'm itching to test it with JProfiler. WILL On 5/3/07, Nathan Bubna <[EMAIL PROTECTED]> wrote:
On 5/3/07, Will Glass-Husain <[EMAIL PROTECTED]> wrote: > (switching subject lines -- please use this one). > > Nice email, Jason. Makes a lot of sense to me. For a long time Velocity > was much faster than JSP, actually. Probably not the case anymore, haven't > measured it recently. I haven't seen any data as to specifically how fast > Velocity is vs. JSP or other tools - Ahmed do you have benchmarks you might > share? > > There's a type of compilation going on with Velocity, of course. Templates > are read in, converted to a parse tree, then cached. > > On a related subject, here's been some excellent work on memory usage > improvements that is currently sitting (with discussion) at > https://issues.apache.org/jira/browse/VELOCITY-223. I'm looking forward to > seeing that work move into the code. me too. what are we waiting on there? confirmation of the improved performance? a patch that incorporates the latest of the discussion? > WILL > > > On 5/3/07, Jason Pettiss <[EMAIL PROTECTED]> wrote: > > > > Actually the translation to Java you find in JSP was a lazy way out of > > needing to write an expression interpreter (pre-dot-com era I don't > > think anyone was really banking on JSP). But it turns out tight binding > > is annoying most of the time. In the past few years you've seen JSP > > trying to look more modern, with more and more use of EL / taglibs, tag > > files, and with JSP 2+ you can even just ${varHere}. So what you see is > > JSP gets slower and slower, while compilation provides less and less > > value. Meanwhile more dynamic template languages flourish, because > > they're much faster for development, and just about as fast at runtime. > > > > Without tight binding, I don't think you'd see a performance gain from > > velocity2Java. Reflection performed by a "compiled servlet" is the same > > cost as reflection performed by the (compiled) velocity engine. > > Old-skool JSP is fast because it avoids reflection entirely (or really, > > has no ability to do so). > > > > Besides the fact that compiled JSPs are horribly bloated (I frequently > > see 800k+ when tag libs and tag files and implicit expression language > > is in use), and variously inefficient depending on your translation > > engine, I really hate that all the schmoo -- all the content -- usually > > ends up as static String constants cluttering up the constant pool... > > this renders that pool inefficient for internalization of IDs and > > generally slows everything /else/ down. Velocity does not do this-- > > once you run it the first time, it is very predictable in time and space. > > > > I think Velocity's main bottleneck is the uberspector. But working on a > > velocity2Java would be MUCH more fun than trying to optimize Java > > reflection. :-) > > > > --jason > > > > Ahmed Mohombe wrote: > > >> Rather than sniping, how about some concrete ideas for what you'd > > >> like to > > >> see next? Or better yet, since you are hanging out in the developer > > >> list, > > >> some test cases or patches? > > > I have a few ideas, but I don't know how to implement them :). The > > > "obvious" need > > > of something does not imply the ability to implement it :). > > > > > > E.g. one that might help improve the performance of Velocity would be > > > a "velocity2Java" compiler, something that could be run like the JSP > > > compiler. AFAIK the big part of performance gain > > > of JSP in the last few years come exactly from this corner. > > > > > > It would be a fantastic gain if for a first version the compiler: > > > - would work only off-line, so not at runtime like the JSP one, so > > > only "pre-compile". > > > - would be able to convert only part a of the templates (e.g. those > > > pretty static and with big contexts), so not 100% coverage. > > > > > > At least these "generated" Java files would be than easier to profile > > > than the Velocity engine + templates. > > > > > > Well, just an idea, but I really don't know if it's feasible for > > > Velocity. > > > > > > Ahmed. > > > > > > > > > --------------------------------------------------------------------- > > > 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] > > > > > > > -- > Forio Business Simulations > > Will Glass-Husain > [EMAIL PROTECTED] > www.forio.com > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Forio Business Simulations Will Glass-Husain [EMAIL PROTECTED] www.forio.com
