[ http://issues.apache.org/jira/browse/LUCENENET-8?page=all ]
Asgeir Halldorsson updated LUCENENET-8:
---------------------------------------
Attachment: test.patch
I made a small test. See attached patch. (NOTE: Not tested fully)
And it seams removing the exception in refill makes indexing time 50% less.
I created a small test app that created 1024 docs with 1 filed. Filled with
Guid. And the indextimer was just over 14sec after patch about 10sec
> Throwing an exception as a result of a normal situation is extremely bad in
> .net
> --------------------------------------------------------------------------------
>
> Key: LUCENENET-8
> URL: http://issues.apache.org/jira/browse/LUCENENET-8
> Project: Lucene.Net
> Issue Type: Task
> Environment: Windows XP, Visual Studio 2003
> Reporter: Jo Inge Arnes
> Attachments: test.patch
>
>
> At the end of the FastCharStream.Refill() method, it says:
> int charsRead = input.Read(buffer, newPosition, buffer.Length - newPosition);
> if (charsRead <= 0)
> throw new System.IO.IOException("read past eof");
> else
> bufferLength += charsRead;
> When I run Lucene in the debugger, this causes an exception to be thrown all
> the time.
> To me it looks like it is thrown as a result of a normal situation, not
> because of some critical error.
> Is this correct?
> If this is the case, then the code is horrible. Throwing an exception in .NET
> is extremely slow, and should never be thrown as a result of a normal
> situation. I repeat: "extremely slow"
--
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