Well, I feel better that it's something in the WW2 / Velocity
integration, and not something systemic :-)

I'm going to start learning the internals of Velocity to be able to help
out with this stuff...

> -----Original Message-----
> From: Drew McAuliffe [mailto:[EMAIL PROTECTED] 
> Sent: Friday, August 22, 2003 2:44 PM
> To: [EMAIL PROTECTED]
> Subject: RE: [OS-webwork] Re: Performance diff bw ww1 and ww2?
> 
> 
> Some more info on this:
> 1) As I mentioned earlier, the way the templates are merged 
> in velocityResult is much different from how things were 
> handled in ww1. WW1 used the VelocityServlet, which did some 
> writer pooling. I tried to implement the same thing but it 
> didn't appear to help much; I just don't know enough about 
> how to work with Velocity. I didn't see any performance 
> increase. If someone who knows velocity could look at this 
> part, we could probably figure out what's happening.
> 2) I set the velocity property 
> "file.resource.loader.cache=true" in velocity properties. 
> That did improve performance. Pages that took on average 
> about 300-500 ms to load now load in 100-150ms. The problem 
> is that this turns off the ability to play with velocity 
> pages during development, so it's probably best saved for 
> production, as they recommend in the velocity docs.
> 
> The real issue is still out there, though. Setting the cache 
> property certainly improved performance, but in ww1 those 
> same page loads averaged 30-50 ms. So setting the cache 
> property on still doesn't figure out what's going on with 
> velocity results.
> 
> I feel like we're getting closer, though....
> 
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On 
> Behalf Of Scott Farquhar
> Sent: Thursday, August 21, 2003 10:36 PM
> To: [EMAIL PROTECTED]
> Subject: Re: [OS-webwork] Re: Performance diff bw ww1 and ww2?
> 
> 
> Just quickly - are we caching the velocity templates?  AFAIK 
> (and that 
> ain't much regarding velocity), the speed increase in velocity is 
> achieved by caching the parsed templates.
> 
> Cheers,
> Scott
> 
> Jason Carreira wrote:
> 
> > I've spent some time profiling these in Tomcat with 
> OptimizeIt and it
> > definitely looks like it's something in VelocityResult and 
> how it uses
> 
> > Velocity. In Tomcat, the ww2 version is talking 600+ ms, the ww1
> > version is 30-40ms. Under Resin, it's about 10ms for the 
> ww1 version 
> > and 100ms for the ww2 version...
> > 
> > 54% of the time is spent under line 85:
> > 
> > t.merge(context, response.getWriter());
> > 
> > Another 44% is under line 72:
> > 
> > Template t = velocityEngine.getTemplate(this.location);
> > 
> > Anyone have any idea why this is so much slower with WW2 than with
> > WW1? They're both merging a template... I must admit I 
> don't know that
> 
> > much about Velocity.
> > 
> > Jason
> > 
> > 
> >>-----Original Message-----
> >>From: Drew McAuliffe [mailto:[EMAIL PROTECTED]
> >>Sent: Friday, August 15, 2003 4:41 AM
> >>To: [EMAIL PROTECTED]
> >>Subject: RE: [OS-webwork] Re: Performance diff bw ww1 and ww2?
> >>
> >>
> >>I've created two sample applications that show the performance 
> >>difference. The problem is that I have two zip files, one for each 
> >>project (Eclipse/MyEclipse project) and they're each over 
> 5MB (because 
> >>of supporting jars). That means I can't attach them to a 
> Jira issue. 
> >>I'd like to send them out so you can see what I'm talking about.
> >>
> >>Basically, the sample apps each do exactly the same thing 
> but one uses 
> >>ww1 and the other xwork/ww2. A simple "company" object is loaded up 
> >>and the page is filled using the custom "pageset" construct I've 
> >>created. It's a cached configuration object that says how a page 
> >>should be laid out (it's something I use to help codify common page 
> >>design, so I don't have to screw around with 
> html/jsp/velocity or what 
> >>have you for pages that all follow the same layout 
> pattern). I realize
> >>that this pageset thing is unusual but it's not the problem, 
> >>since it renders fine with ww1. The sample apps don't do any 
> >>database calls, so it's obvious that the performance hit 
> >>comes somewhere in the render cycle.
> >>
> >>What I'm seeing, consistently, on the same server, is the following:
> >>ww1: 10-20ms load
> >>ww2: 190-250ms load
> >>
> >>That's a pretty big difference, and again, these pages aren't doing 
> >>anything special or any database calls. I'm guessing that 
> part of it 
> >>is in how velocity is being used, or perhaps something to do with 
> >>searching the ognl stack (since the stack is used for things like 
> >>getting object properties or creating instances of utility classes).
> >>
> >>One other thing: the copy of the webwork2 jar I'm using has been 
> >>modified to add a "$webwork" utility class to the velocity 
> stack on a 
> >>request. This copies the way things were done in ww1. of course, my 
> >>fumbling around with this in ww2 may have caused the 
> performance hit. 
> >>I can supply the modifications upon request. They're also 
> in a current 
> >>JIRA issue as attachments, at issue # WW251.
> >>
> >>Please let me know how I can get the sample projects to 
> anyone who's 
> >>interested. I think this simple example would go a long way towards 
> >>understanding how to optimize ww2.
> >>
> >>Thanks,
> >>
> >>Drew
> >>
> >>-----Original Message-----
> >>From: [EMAIL PROTECTED]
> >>[mailto:[EMAIL PROTECTED] 
> On Behalf Of 
> >>Drew McAuliffe
> >>Sent: Monday, August 11, 2003 3:20 PM
> >>To: [EMAIL PROTECTED]
> >>Subject: [OS-webwork] Re: Performance diff bw ww1 and ww2?
> >>
> >>
> >>I've moved from Tomcat to oc4j and the numbers have improved 
> >>considerably. So at this point, it's not a complete hassle 
> like it was 
> >>before. Though now I'm interested to see how fast the old version 
> >>would have worked on oc4j.
> >>
> >>The results I was getting were consistent across both 
> Tomcat 4.1.x and 
> >>5.0. It seems to happen with the render cycle, as I said. I haven't 
> >>had time to profile it but I'll get on it this week. I have 
> a feeling, 
> >>and this is just a guess, that it might have something to 
> do with the 
> >>similarity between ognl and velocity syntax? I'm not sure 
> but I should 
> >>have some sort of information soon.
> >>
> >>One of the other things I'm going to try to do is use the 
> ww2 tags to 
> >>duplicate some of what I'm doing in velocity macros now. 
> I'll try to 
> >>replace my usage of macros with component tags and see how it works 
> >>out.
> >>
> >>
> >>
> >>
> >>
> >>-------------------------------------------------------
> >>This SF.Net email sponsored by: Free pre-built ASP.NET 
> sites including 
> >>Data Reports, E-commerce, Portals, and Forums are available now. 
> >>Download today and enter to win an XBOX or Visual Studio .NET.
> >>http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet
> > 
> > _072303_01/01
> > _______________________________________________
> > Opensymphony-webwork mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
> > 
> > 
> > -------------------------------------------------------
> > This SF.net email is sponsored by: VM Ware
> > With VMware you can run multiple operating systems on a single
> > machine. WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual 
> > machines at the same time. Free trial click 
> > here:http://www.vmware.com/wl/offer/358/0
> > _______________________________________________
> > Opensymphony-webwork mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
> > 
> 
> -- 
> 
> ATLASSIAN - http://www.atlassian.com
> Expert J2EE Software, Services and Support
> -------------------------------------------------------
> Need a simple, powerful way to track and manage issues?
> Try JIRA - http://www.atlassian.com/software/jira
> 
> 
> 
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by: VM Ware
> With VMware you can run multiple operating systems on a 
> single machine.
> WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines
> at the same time. Free trial click 
> here:http://www.vmware.com/wl/offer/358/0
> _______________________________________________
> Opensymphony-webwork mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
> 


-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines
at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0
_______________________________________________
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork

Reply via email to