You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Doug Cutting (JIRA)" <ji...@apache.org> on 2006/02/21 18:02:01 UTC

[jira] Resolved: (LUCENE-435) [PATCH] BufferedIndexOutput - optimized writeBytes() method

     [ http://issues.apache.org/jira/browse/LUCENE-435?page=all ]
     
Doug Cutting resolved LUCENE-435:
---------------------------------

    Resolution: Fixed

I just committed this.

> [PATCH] BufferedIndexOutput - optimized writeBytes() method
> -----------------------------------------------------------
>
>          Key: LUCENE-435
>          URL: http://issues.apache.org/jira/browse/LUCENE-435
>      Project: Lucene - Java
>         Type: Improvement
>   Components: Store
>     Reporter: Lukas Zapletal
>     Priority: Minor
>  Attachments: BufferedIndexOutputWriteBytes.patch, fastWrite.patch, writeBytes.patch
>
> I have created a patch that optimize writeBytes metod:
>   public void writeBytes(byte[] b, int length) throws IOException {
>     if (bufferPosition > 0) // flush buffer
>       flush();
>  
>     if (length < BUFFER_SIZE) {
>       flushBuffer(b, length);
>       bufferStart += length;
>     } else {
>       int pos = 0;
>       int size;
>       while (pos < length) {
>         if (length - pos < BUFFER_SIZE) {
>           size = length - pos;
>         } else {
>           size = BUFFER_SIZE;
>         }
>         System.arraycopy(b, pos, buffer, 0, size);
>         pos += size;
>         flushBuffer(buffer, size);
>         bufferStart += size;
>       }
>     }
>   }
> Its a much more faster now. I know that for indexing this not help much, but for copying files in the IndexStore this is so big improvement. Its about 400% faster that old implementation.
> The patch was tested with 300MB data, "ant test" sucessfuly finished with no errors.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


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