tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Gilbert" <and...@soundbite.com>
Subject RE: cvs commit: jakarta-tomcat/src/share/org/apache/jasper/runtime BodyContentImpl.java
Date Tue, 06 Mar 2001 00:01:15 GMT
Thanks.

I missed the obvious in the double array copy. Still, by doubling the buffer
size each time instead of incrementally increasing we are getting double the
speed with our degenerate test case.

1. Original - 22 seconds
2. As patched here - 13 seconds
3. With doubling of buffer as well - 6 seconds

-----Original Message-----
From: marcsaeg@apache.org [mailto:marcsaeg@apache.org]
Sent: Saturday, March 03, 2001 10:26 PM
To: jakarta-tomcat-cvs@apache.org
Subject: cvs commit: jakarta-tomcat/src/share/org/apache/jasper/runtime
BodyContentImpl.java


marcsaeg    01/03/03 19:26:22

  Modified:    src/share/org/apache/jasper/runtime Tag: tomcat_32
                        BodyContentImpl.java
  Log:
  BodyContentImpl.java

  Revision  Changes    Path
  No                   revision


  No                   revision


  1.6.6.1   +6 -8
jakarta-tomcat/src/share/org/apache/jasper/runtime/BodyContentImpl.java

  Index: BodyContentImpl.java
  ===================================================================
  RCS file:
/home/cvs/jakarta-tomcat/src/share/org/apache/jasper/runtime/BodyContentImpl
.java,v
  retrieving revision 1.6
  retrieving revision 1.6.6.1
  diff -u -r1.6 -r1.6.6.1
  --- BodyContentImpl.java	1999/11/13 00:32:51	1.6
  +++ BodyContentImpl.java	2001/03/04 03:26:21	1.6.6.1
  @@ -88,7 +88,7 @@
           super(writer);
   	cb = new char[bufferSize];
   	nextChar = 0;
  -    }
  +	 }

       /**
        * Write a single character.
  @@ -107,19 +107,19 @@
           //Need to re-allocate the buffer since it is to be
   	//unbounded according to the updated spec..

  -        char[] tmp = new char [bufferSize];
  -	System.arraycopy(cb, 0, tmp, 0, cb.length);
  +        char[] tmp = null;

   	//XXX Should it be multiple of DEFAULT_BUFFER_SIZE??

   	if (len <= Constants.DEFAULT_BUFFER_SIZE) {
  -	    cb = new char [bufferSize + Constants.DEFAULT_BUFFER_SIZE];
  +	    tmp = new char [bufferSize + Constants.DEFAULT_BUFFER_SIZE];
   	    bufferSize += Constants.DEFAULT_BUFFER_SIZE;
   	} else {
  -	    cb = new char [bufferSize + len];
  +	    tmp = new char [bufferSize + len];
   	    bufferSize += len;
   	}
  -	System.arraycopy(tmp, 0, cb, 0, tmp.length);
  +	System.arraycopy(cb, 0, tmp, 0, cb.length);
  +	cb = tmp;
   	tmp = null;
       }

  @@ -499,8 +499,6 @@

       public void clear() throws IOException {
           synchronized (lock) {
  -            cb = new char [Constants.DEFAULT_BUFFER_SIZE];
  -	    bufferSize = Constants.DEFAULT_BUFFER_SIZE;
   	    nextChar = 0;
   	}
       }




---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, email: tomcat-dev-help@jakarta.apache.org


Mime
View raw message