Return-Path: Delivered-To: apmail-jakarta-tomcat-dev-archive@apache.org Received: (qmail 33403 invoked from network); 4 Dec 2002 19:35:20 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 4 Dec 2002 19:35:20 -0000 Received: (qmail 18994 invoked by uid 97); 4 Dec 2002 19:33:58 -0000 Delivered-To: qmlist-jakarta-archive-tomcat-dev@jakarta.apache.org Received: (qmail 16486 invoked by uid 97); 4 Dec 2002 19:32:59 -0000 Mailing-List: contact tomcat-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Tomcat Developers List" Reply-To: "Tomcat Developers List" Delivered-To: mailing list tomcat-dev@jakarta.apache.org Received: (qmail 15135 invoked by uid 98); 4 Dec 2002 19:32:25 -0000 X-Antivirus: nagoya (v4218 created Aug 14 2002) Date: Wed, 04 Dec 2002 11:28:19 -0800 (PST) From: Kin-Man Chung Subject: Re: Jasper 2 Synchronized JSP compiles To: tomcat-dev@jakarta.apache.org Reply-to: Kin-Man Chung Message-id: <0H6M007RD0R79Z@mpkmail.eng.sun.com> MIME-version: 1.0 X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.4.2 SunOS 5.8 sun4u sparc Content-type: TEXT/plain; charset=us-ascii Content-transfer-encoding: 7BIT Content-MD5: oBghmkYXW58Cq1y0XpwB1w== X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Performance-wise, wouldn't doing javac compilation in another process be much worse than synchronized javac, at least for systems with small number of processors? It would nice if we can have some numbers for comparision. I know javac used to have memory leak, but is it still true for modern compilers, such as the one in JDK 1.4.0? BTW, I am +1 on the proposal. > Date: Wed, 04 Dec 2002 09:04:35 -0600 > From: Glenn Nielsen > Subject: Jasper 2 Synchronized JSP compiles > To: tomcat-dev@jakarta.apache.org > > I have some ideas on how invoking the javac compiler for compiling JSP pages can be > improved. Currently Jasper 2 uses ant to do compiles from within Tomcat which are > synchronized. > > There are currently several problems. > > 1. The known javac memory leak. > > 2. JSP page compiles are synchronized. > > 3. Jikes currently can't be configured for windows because the windows build of > jikes doesn't support -encoding. > > 4. We may be getting some bug reports related to this problem noted in the Ant > documentation for the javac task: > > Windows Note:When the modern compiler is used in unforked mode on Windows, it locks up the files present in the > classpath of the task, and does not release them. The side effect of this is that you will not be able to delete > or move those files later on in the build. The workaround is to fork when invoking the compiler. > > Recommendation: > > Change Jasper 2 so that it tells ant to fork the javac compile. This should remove the need > to synchronize the compiles. It will also move java compilation outside of the JVM process > Tomcat is running in saving JVM heap memory and reducing GC overhead from objects created for > JSP compiles. This could be done by just adding another parameter called "fork" to the > JspServlet paramters. If fork=true ant forks the javac compile and no synchronization is done. > The default for fork would be false. > > Comments? > > Regards, > > Glenn > > > -- > To unsubscribe, e-mail: > For additional commands, e-mail: > -- To unsubscribe, e-mail: For additional commands, e-mail: