Benchmarks improved. Contains & IndexOf separated into 2 groups: first 1 000 items & last 1 000 items.

This commit is contained in:
Marek Lemańczyk committed 2023-02-05 22:58:48 +01:00
1 parent 743e88f0e6
commit 59defd435c
4 files changed
+104 -417

No files matched your search

+1 -1
View File
@@ -16,7 +16,7 @@ internal class Program
benchmark.Setup();
foreach (var _ in Enumerable.Range(1, 1000))
{
benchmark.RecyclableList_Contains();
//benchmark.RecyclableList_Contains();
//benchmark.RecyclableArrayList_AddRange_WithCapacity();
//benchmark.RecyclableArrayList_Add_WithCapacity();
@@ -112,28 +112,52 @@ namespace Recyclable.Collections.Benchmarks
DoNothing(data.Count);
}
//[Benchmark(Baseline = true)]
public void List_Contains()
[Benchmark(Baseline = true)]
public void List_Contains_1_000_FirstItems()
{
var data = TestObjects;
var list = TestObjectsAsList;
var dataCount = 100_000;
var dataCount = 1_000;
for (var i = 0; i < dataCount; i++)
{
DoNothing(list.Contains(data[i]));
}
}
[Benchmark(Baseline = true)]
public void List_IndexOf()
[Benchmark]
public void List_Contains_1_000_LastItems()
{
var data = TestObjects;
var list = TestObjectsAsList;
var dataCount = 100_000;
var dataCount = 1_000;
for (var i = 0; i < dataCount; i++)
{
DoNothing(list.Contains(data[^(i + 1)]));
}
}
//[Benchmark(Baseline = true)]
public void List_IndexOf_1_000_FirstItems()
{
var data = TestObjects;
var list = TestObjectsAsList;
var dataCount = 1_000;
for (var i = 0; i < dataCount; i++)
{
DoNothing(list.IndexOf(data[i]));
}
}
//[Benchmark]
public void List_IndexOf_1_000_LastItems()
{
var data = TestObjects;
var list = TestObjectsAsList;
var dataCount = 1_000;
for (var i = 0; i < dataCount; i++)
{
DoNothing(list.IndexOf(data[^(i + 1)]));
}
}
}
}
@@ -78,12 +78,12 @@ namespace Recyclable.Collections.Benchmarks
DoNothing(data.LongCount);
}
//[Benchmark]
public void RecyclableList_Contains()
[Benchmark]
public void RecyclableList_Contains_1_000_FirstItems()
{
var data = TestObjects;
var list = TestObjectsAsRecyclableList;
var dataCount = 100_000;
var dataCount = 1000;
for (var i = 0; i < dataCount; i++)
{
DoNothing(list.Contains(data[i]));
@@ -91,15 +91,39 @@ namespace Recyclable.Collections.Benchmarks
}
[Benchmark]
public void RecyclableList_IndexOf()
public void RecyclableList_Contains_1_000_LastItems()
{
var data = TestObjects;
var list = TestObjectsAsRecyclableList;
var dataCount = 100_000;
var dataCount = 1_000;
for (var i = 0; i < dataCount; i++)
{
DoNothing(list.Contains(data[^(i + 1)]));
}
}
//[Benchmark]
public void RecyclableList_IndexOf_1_000_FirstItems()
{
var data = TestObjects;
var list = TestObjectsAsRecyclableList;
var dataCount = 1000;
for (var i = 0; i < dataCount; i++)
{
DoNothing(list.IndexOf(data[i]));
}
}
//[Benchmark]
public void RecyclableList_IndexOf_1_000_LastItems()
{
var data = TestObjects;
var list = TestObjectsAsRecyclableList;
var dataCount = 1_000;
for (var i = 0; i < dataCount; i++)
{
DoNothing(list.IndexOf(data[^(i + 1)]));
}
}
}
}