I think Shrikant's argument would be more relevant in more cases than Geert's. Let's do some calculation: A typical header + footer may include 5K of content, which might be translated into 10K of servlet compiled code. I don't know exactly what the overhead for loading classes into memory is, but let's assume that these 10K are multiplied by two as loaded into JVM and an instance is created of their encompassing servlet. So now we're talking about 20K, multiplied by 200 pages gives us 4000KB, or 4MB. If this calculation is correct, I think that as long as your Servlet Container is not running on an extremely low resource machine that is also functioning as your app. server AND DB server, it would be reasonable to assume that static includes are generally more efficient. Also, do bear in mind that if you want to share information between the two pages via JavaBeans, using dynamic includes would necessarily mean generating more <jsp:useBean> related calls, whereas in static include these would not be needed as the two pages whare the same declarative scope. zm.
-----Original Message----- From: A mailing list about Java Server Pages specification and reference [mailto:[EMAIL PROTECTED]]On Behalf Of ShriKant Vashishtha Sent: Thursday, January 10, 2002 4:09 PM To: [EMAIL PROTECTED] Subject: Re: <%! %> (was RE: I want to make code shorter.) I think that memory is much cheaper these days compared to dynamic performance. In my view, inlining does improve performance always in all languages unless it involves complex logic. Compile time processing is always faster than a function call, as function call is an always overhead. Sometimes for the performance improvement we repeat a particular code if required instead of calling a function again and again. Instead of creating same Object again and again we use static final, in turn use inlining. ~Namaste~(I bow to the devine in you) -ShriKant A mailing list about Java Server Pages specification and reference wrote: > > I don't think that we need to use dynamic include everywhere. Most of the > > times > > we should try to use the static include only for the performance > > reasons as > > that block or file is included at the compilation time only and JSP > engine > > does > > not have to include the block at the request time. If the resource is > > dynamic, > > dynamice include acts on a request and sends back a result that > > is included > > in > > the JSP page and then only JSP container resumes the processing of JSP > > page. > > Did you try this out? > I'm not sure that dynamic includes are slower. In fact they might even be > faster than static includes. > The web container doesn't do a real http request to itself for every > dynamic > include! It can optimize the chain of servlets a request goes through. All > the overhead of starting a thread, accepting and parsing the http commands > and parameters, all the network stuff is only done once. The only extra > thing involved in a dynamic include is a function call to the service > method > of a servlet. > Static includes OTOH are linked in at compile time. This means that the > same > lines of code (HTML of java) are copied in every generated servlet that > uses > the include. Since a servlet instance remains in memory, it also means that > your include code is kept x times in memory. > Lets give the example of a footer.jsp with some address info and stuff. > It's > normal that you include that in every page. This could mean that the > address > information is kept in Ram memory maybe 200 times. I really think that > could > harm performance. > > Geert Van Damme > > =========================================================================== > To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff > JSP-INTEREST". > For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST > DIGEST". > Some relevant FAQs on JSP/Servlets can be found at: > > http://archives.java.sun.com/jsp-interest.html > http://java.sun.com/products/jsp/faq.html > http://www.esperanto.org.nz/jsp/jspfaq.jsp > http://www.jguru.com/faq/index.jsp > http://www.jspinsider.com =========================================================================== To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST". For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST DIGEST". Some relevant FAQs on JSP/Servlets can be found at: http://archives.java.sun.com/jsp-interest.html http://java.sun.com/products/jsp/faq.html http://www.esperanto.org.nz/jsp/jspfaq.jsp http://www.jguru.com/faq/index.jsp http://www.jspinsider.com =========================================================================== To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST". For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST DIGEST". Some relevant FAQs on JSP/Servlets can be found at: http://archives.java.sun.com/jsp-interest.html http://java.sun.com/products/jsp/faq.html http://www.esperanto.org.nz/jsp/jspfaq.jsp http://www.jguru.com/faq/index.jsp http://www.jspinsider.com
