[ 
https://issues.apache.org/jira/browse/LUCENENET-292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12781011#action_12781011
 ] 

Andrei Iliev commented on LUCENENET-292:
----------------------------------------

I agree. That was the reason why initially I did not want to make a complete 
port over java's ArrayList. It is not so easy as it may seem. All we needed for 
now is just to 2 helpful methods to calculate HashCode and check for Equals.



> Optimization of EquatableList<T>
> --------------------------------
>
>                 Key: LUCENENET-292
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-292
>             Project: Lucene.Net
>          Issue Type: Improvement
>            Reporter: Nicholas Paldino
>            Priority: Minor
>         Attachments: EquatableList3.patch, SupportClass.patch
>
>
> When comparing two IEnumerable<T> implementations, a shortcut can be taken to 
> check to see if both IEnumerable<T> expose operations which returns a count 
> of items (sequences cannot be equal if the number of elements in the 
> sequences are not equal).
> Typically, in .NET, this is expressed through the implementation of the 
> ICollection or ICollection<T> interface.
> Before enumerating through each element and comparing the two for equality, 
> if the counts are accessible, they should be compared to see if the number of 
> elements in the two sequences are equal.  If a comparison is able to be made 
> before enumerating, it will be much more performant for comparisons of 
> sequences where each is ~N, but both are not equal to N, and N is very large.
> Patch to follow.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to