forked from ipashchuk/IP.i4o
-
Notifications
You must be signed in to change notification settings - Fork 4
Wrong results and slow than simple LINQ on large list of items #3
Copy link
Copy link
Open
Description
I wrote this test method and found wrong results and really bad performance...
Test results:
Expected: 10085
But was: 101707225
[Test]
public void EquatableIndexLookupResolves()
{
List<SimpleClass> someItems = new List<SimpleClass> {
new SimpleClass {Name = "Jason", Age = 25},
new SimpleClass {Name = "Aaron", Age = 37}
};
Random rand = new Random();
for (int i = 0; i < 1000000; i++)
{
var name = CreateRandomString(stringLength: 10);
int age = rand.Next(1, 100);
someItems.Add(new SimpleClass { Name = name, Age = age });
}
var someItemsArray = someItems.ToArray();
var ages = someItemsArray.Where(s => s.Age == 25);
var countAges = ages.Count();
var indexOnSomeItems =
new EqualityIndex<SimpleClass>(
someItemsArray,
typeof(SimpleClass).GetProperty("Age"));
var jason = indexOnSomeItems.WhereThroughIndex(item => item.Age == 25);
var countIndexedAges = jason.Count();
Assert.AreEqual(countAges, countIndexedAges);
}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels