IIRC you had said you already extracted the FreeMarker templates from the core jar, right?
Dave --- Matthew Seaborn <[EMAIL PROTECTED]> wrote: > In an attempt to find out where all the CPU cycles go I ran JProfiler > against a request for a Struts 2 page containing a form with around 40 tags > running under Tomcat 5.5, using SiteMesh for styling. > > The details are below, but FreeMarker seems to be the primary guilty party. > Does anyone know how to get it to go faster, I already have the > freemarker.properties file in WEB-INF/classes. > > For those that are interested, the details. > > > Around 7% went to Tomcat and 4% to SiteMesh. > > > 100.0% - 2,215 ms - 1 inv. > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run > 99.5% - 2,205 ms - 8 inv. ptv.http.HttpRequestInitialiserFilter.doFilter > 99.5% - 2,205 ms - 8 inv. ptv.http.HttpRequestInitialiserFilter.doFilter > 94.0% - 2,082 ms - 8 inv. javax.servlet.FilterChain.doFilter > 94.0% - 2,081 ms - 8 inv. > com.opensymphony.module.sitemesh.filter.PageFilter.doFilter > 92.6% - 2,051 ms - 3 inv. > com.opensymphony.module.sitemesh.filter.PageFilter.parsePage > 90.3% - 1,999 ms - 3 inv. javax.servlet.FilterChain.doFilter > 88.9% - 1,969 ms - 3 inv. > com.opensymphony.xwork2.DefaultActionInvocation.invoke > > Then about 4% went to the Struts 2 Interceptor stack. Of the remaining 85%, > OGNL took about 15% (I estimate, all in) but the vast majority went to > Freemarker; 67% consumed to render the tags. > > 84.8% 1,878 ms - 1 inv. /pages/vdp/rights/viewRight.jsp > [org.apache.jsp.pages.vdp.rights.viewRight_jsp] > 67.2% - 1,488 ms - 23 inv. freemarker.template.Template.process > 7.7% - 171 ms - 95 inv. > com.opensymphony.xwork2.util.OgnlValueStack.findValue(java.lang.String) > 4.2% - 94,134 µs - 108 inv. > com.opensymphony.xwork2.util.TextParseUtil.translateVariables > 2.0% - 45,152 µs - 65 inv. > com.opensymphony.xwork2.util.OgnlValueStack.findValue(java.lang.String, > java.lang.Class) > 0.8% - 17,987 µs - 92 inv. > com.opensymphony.xwork2.inject.ContainerImpl.inject > 0.3% - 6,119 µs - 63 inv. > com.opensymphony.xwork2.util.TextUtils.htmlEncode > 0.2% - 4,390 µs - 23 inv. freemarker.template.SimpleHash.putAll > 0.2% - 3,542 µs - 384 inv. ognl.OgnlContext.get > > I could find no particularly guilty party in FreeMarker, it just seemed to > whittle the CPU away. Some of it went to OGNL, but not much. > > 67.0% - 1,485 ms - 23 inv. freemarker.core.Environment.process > 66.9% - 1,482 ms - 23 inv. freemarker.core.Environment.visit > 66.9% - 1,482 ms - 23 inv. freemarker.core.MixedContent.accept > 66.9% - 1,481 ms - 108 inv. freemarker.core.Environment.visit > 62.0% - 1,374 ms - 59 inv. freemarker.core.Include.accept > 57.8% - 1,280 ms - 59 inv. freemarker.core.Environment.include > 57.7% - 1,277 ms - 59 inv. freemarker.core.Environment.visit > 57.6% - 1,276 ms - 59 inv. freemarker.core.MixedContent.accept > 57.4% - 1,271 ms - 504 inv. freemarker.core.Environment.visit > 23.7% - 525 ms - 49 inv. freemarker.core.Include.accept > 16.0% - 353 ms - 4 inv. freemarker.core.UnifiedCall.accept > 13.8% - 306 ms - 192 inv. freemarker.core.ConditionalBlock.accept > 1.7% - 37,064 µs - 40 inv. freemarker.core.DollarVariable.accept > 1.6% - 35,617 µs - 2 inv. freemarker.core.IfBlock.accept > 0.2% - 4,826 µs - 504 inv. freemarker.core.Environment.popElement > 0.1% - 2,696 µs - 504 inv. freemarker.core.Environment.pushElement > 0.1% - 1,513 µs - 155 inv. freemarker.core.TextBlock.accept > 0.0% - 108 µs - 61 inv. freemarker.core.Comment.accept > 0.0% - 36 µs - 1 inv. freemarker.core.PropertySetting.accept > > > > > > > Matthew Seaborn > Software Architect > t +44(0) 208 484 0729 > m +44(0) 7949 465 142 > e > [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> > > [cid:[email protected]] > Sussex House > Plane Tree Crescent > Feltham, Middlesex, TW13 7HE > United Kingdom > http://www.performgroup.com/ > > > > > ________________________________________________________________________ > > CONFIDENTIALITY - This email and any files transmitted with it, are > confidential, may be legally privileged and are intended solely for the use > of the individual or entity to whom they are addressed. If this has come to > you in error, you must not copy, distribute, disclose or use any of the > information it contains. Please notify the sender immediately and delete > them from your system. > > SECURITY - Please be aware that communication by email, by its very nature, > is not 100% secure and by communicating with Perform Group by email you > consent to us monitoring and reading any such correspondence. > > VIRUSES - Although this email message has been scanned for the presence of > computer viruses, the sender accepts no liability for any damage sustained > as a result of a computer virus and it is the recipients responsibility to > ensure that email is virus free. > > AUTHORITY - Any views or opinions expressed in this email are solely those > of the sender and do not necessarily represent those of Perform Group. > > COPYRIGHT - Copyright of this email and any attachments belongs to Perform > Group, Companies House Registration number 6324278. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

