I've been trying to migrate an application recently from ww1 to ww2 and have had some pretty difficult times. Conversion issues aside, though, I'm extremely concerned with what I see with the performance. ww2 seems to perform about 5 to 10 times worse than my equivalent application in ww1. I'm pretty positive that this isn't a problem with xwork, since my business layer uses xwork as an underlying command structure (and xwork is fantastic; the framework I have set up with it is going to save me a ton of maintenance headaches). The xwork business commands execute extremely quickly. Prior to the upgrade, I had xwork running underneath ww1, with ww1 servlets and actions.
Most of the problem appears to be in the render cycle. I'm using velocity as my rendering engine (except for sitemesh decorators and a login.jsp). I'm not using the ww tags or their velocity equivalents because I have a custom page construction framework. Basically, each action sticks a "page" object onto the stack that contains information about page sections and controls. There are a lot of calls to the old $webwork utility on the ww1 velocity context, especially for bean creation and "$webwork.evaluate" calls. Under ww1, I get pretty fast response times. For a list page with about 20 items, I get the list in anywhere between 200 and 400 ms. With a constrained list, it's more like 30 - 70 ms (for a list of about 5 items). For a detail page with about 10 fields, I can usually get a render in about 20 - 30 ms. That's only 10 ms longer than the underlying framework is taking to load the data from the database. This is all on a dev machine running a local tomcat server, so I'm pretty happy with this performance. With ww2, the numbers get a lot worse. List renderings are anywhere from 600 - 1100 ms for the large list, 400 - 600 ms for the small list. Detail pages are rendering in about 70 - 110 ms, though sometimes higher (never lower). Also, strangely, my pages have a decorator on the side that shows the current user, using <ww:property value="userInfo.firstName"/> <ww:property value="userInfo.lastName"/> Every third time the page is loaded, these show up as "null", inexplicably. I don't know why this would be happening, though I suppose it has something to do with things getting tied up inside the render cycle. I also get socket errors every fourth or fifth page load, if I keep loading in quick succession. I realize this evidence is anecdotal but I was wondering if anyone else has had similar results with ww2, or if there's something I'm doing completely wrong with the way I'm using velocity in ww2. My previous macros were updated to use the value stack and I can include the old and new versions, if necessary. I do know that it used to work fine before. I'm itching to move to ww2 because it does so many things so much more elegantly (things I used to have to do a lot of custom coding around) and I'm already using xwork anyway. ------------------------------------------------------- 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