[ 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

        

Reply via email to