You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by la...@apache.org on 2003/12/06 01:50:08 UTC

cvs commit: jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/buf ByteChunk.java

larryi      2003/12/05 16:50:08

  Modified:    util/java/org/apache/tomcat/util/buf ByteChunk.java
  Log:
  Port optimization from CharChunk to prevent needless allocation of byte
  arrays.
  
  Revision  Changes    Path
  1.16      +9 -1      jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/buf/ByteChunk.java
  
  Index: ByteChunk.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/buf/ByteChunk.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- ByteChunk.java	12 Sep 2003 12:58:53 -0000	1.15
  +++ ByteChunk.java	6 Dec 2003 00:50:08 -0000	1.16
  @@ -324,6 +324,14 @@
   	    return;
   	}
   
  +        // Optimize on a common case.
  +        // If the buffer is empty and the source is going to fill up all the
  +        // space in buffer, may as well write it directly to the output,
  +        // and avoid an extra copy
  +        if ( len == limit && end == start) {
  +            out.realWriteBytes( src, off, len );
  +            return;
  +        }
   	// if we have limit and we're below
   	if( len <= limit - end ) {
   	    // makeSpace will grow the buffer to the limit,
  @@ -452,7 +460,7 @@
   	
   	// limit < buf.length ( the buffer is already big )
   	// or we already have space XXX
  -	if( desiredSize < buff.length ) {
  +	if( desiredSize <= buff.length ) {
   	    return;
   	}
   	// grow in larger chunks
  
  
  

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