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