64 lines
2.4 KiB
C#
64 lines
2.4 KiB
C#
namespace Recyclable.Collections.Benchmarks
|
|
{
|
|
public partial class RecyclableCollectionsBenchmarks
|
|
{
|
|
public void Array_FindLastIndex_BestAndWorstCases()
|
|
{
|
|
var data = TestObjects;
|
|
var list = TestObjects;
|
|
var dataCount = TestObjectCountForSlowMethods;
|
|
// Console.WriteLine($"{nameof(TestObjectCount)}={TestObjectCount}");
|
|
// Console.WriteLine($"{nameof(TestObjectCountForSlowMethods)}={TestObjectCountForSlowMethods}");
|
|
for (var i = 0; i < dataCount; i++)
|
|
{
|
|
// Console.WriteLine($"data.Length={data.Length}");
|
|
// Console.WriteLine($"{nameof(TestObjectCount)}={TestObjectCount}");
|
|
// Console.WriteLine($"{nameof(TestObjectCountForSlowMethods)}={TestObjectCountForSlowMethods}");
|
|
DoNothing(Array.FindLastIndex(list, 0, (x) => x == data[i]));
|
|
DoNothing(Array.FindLastIndex(list, 0, (x) => x == data[^(i + 1)]));
|
|
}
|
|
}
|
|
|
|
public void List_FindLastIndex_BestAndWorstCases()
|
|
{
|
|
var data = TestObjects;
|
|
var list = TestObjectsAsList;
|
|
var dataCount = TestObjectCountForSlowMethods;
|
|
// Console.WriteLine($"{nameof(TestObjectCount)}={TestObjectCount}");
|
|
// Console.WriteLine($"{nameof(TestObjectCountForSlowMethods)}={TestObjectCountForSlowMethods}");
|
|
for (var i = 0; i < dataCount; i++)
|
|
{
|
|
// Console.WriteLine($"data.Length={data.Length}");
|
|
// Console.WriteLine($"{nameof(TestObjectCount)}={TestObjectCount}");
|
|
// Console.WriteLine($"{nameof(TestObjectCountForSlowMethods)}={TestObjectCountForSlowMethods}");
|
|
DoNothing(list.FindLastIndex(0, (x) => x == data[i]));
|
|
DoNothing(list.FindLastIndex(0, (x) => x == data[^(i + 1)]));
|
|
}
|
|
}
|
|
|
|
public void RecyclableList_FindLastIndex_BestAndWorstCases()
|
|
{
|
|
var data = TestObjects;
|
|
var list = TestObjectsAsRecyclableList;
|
|
var dataCount = TestObjectCountForSlowMethods;
|
|
for (var i = 0; i < dataCount; i++)
|
|
{
|
|
DoNothing(list.FindLastIndex(0, (x) => x == data[i]));
|
|
DoNothing(list.FindLastIndex(0, (x) => x == data[^(i + 1)]));
|
|
}
|
|
}
|
|
|
|
// public void RecyclableLongList_FindLastIndex_BestAndWorstCases()
|
|
// {
|
|
// var data = TestObjects;
|
|
// var list = TestObjectsAsRecyclableLongList;
|
|
// var dataCount = TestObjectCountForSlowMethods;
|
|
// for (var i = 0; i < dataCount; i++)
|
|
// {
|
|
// DoNothing(list.FindLastIndex(0, (x) => x == data[i]));
|
|
// DoNothing(list.FindLastIndex(0, (x) => x == data[^(i + 1)]));
|
|
// }
|
|
// }
|
|
}
|
|
}
|