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