RecyclableList.Contains reworked - first version

This commit is contained in:
mlemanczyk committed 2023-02-01 23:29:23 +01:00
1 parent f3381942bc
commit 91abf1a614
4 files changed
+154 -32

No files matched your search

@@ -21,6 +21,8 @@ namespace Recyclable.Collections.Benchmarks
protected RecyclableArrayList<object>? _testObjectsAsRecyclableArrayList;
protected RecyclableArrayList<object> TestObjectsAsRecyclableArrayList => _testObjectsAsRecyclableArrayList ?? throw new NullReferenceException("Something is wrong and the field is not initialized");
protected RecyclableList<object>? _testObjectsAsRecyclableList;
protected RecyclableList<object> TestObjectsAsRecyclableList => _testObjectsAsRecyclableList ?? throw new NullReferenceException("Something is wrong and the field is not initialized");
protected IEnumerable<object> TestObjectsAsIEnumerable => Enumerable.Range(1, TestObjectCount).Select(static x => new object());
protected static void DoNothing<T>(T obj)
+29 -17
View File
@@ -4,28 +4,40 @@ using Recyclable.Collections.Benchmarks;
//BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(new[] { "-f*" });
BenchmarkRunner.Run<RecyclableCollectionsBenchmarks>(
ManualConfig.Create(DefaultConfig.Instance).WithOptions(ConfigOptions.DisableOptimizationsValidator)
);
//BenchmarkRunner.Run<RefVsInstanceMemberBenchmarks>();
//var benchmark = new RecyclableCollectionsBenchmarks();
//benchmark.Setup();
//foreach (var _ in Enumerable.Range(1, 1000))
//{
// //benchmark.RecyclableArrayList_AddRange_WithCapacity();
// //benchmark.RecyclableArrayList_Add_WithCapacity();
// //benchmark.RecyclableList_Create();
// benchmark.RecyclableList_Create_WithCapacity();
// //benchmark.RecyclableList_Add();
// //benchmark.RecyclableList_Add_WithCapacity();
//}
//benchmark.Cleanup();
internal class Program
{
void RunBenchmark()
{
var benchmark = new RecyclableCollectionsBenchmarks();
benchmark.Setup();
foreach (var _ in Enumerable.Range(1, 1000))
{
benchmark.RecyclableList_Contains();
//benchmark.RecyclableArrayList_AddRange_WithCapacity();
//benchmark.RecyclableArrayList_Add_WithCapacity();
//benchmark.RecyclableList_Create();
//benchmark.RecyclableList_Create_WithCapacity();
//benchmark.RecyclableList_Add();
//benchmark.RecyclableList_Add_WithCapacity();
}
benchmark.Cleanup();
}
private static void Main(string[] args)
{
BenchmarkRunner.Run<RecyclableCollectionsBenchmarks>(
ManualConfig.Create(DefaultConfig.Instance).WithOptions(ConfigOptions.DisableOptimizationsValidator | ConfigOptions.JoinSummary)
);
//RunBenchmark();
}
}
// benchmark.Setup();
// benchmark.Cleanup();
@@ -18,6 +18,7 @@ namespace Recyclable.Collections.Benchmarks
_testArray = TestObjects.ToArray();
_testObjectsAsList = TestObjects.ToList();
_testObjectsAsRecyclableArrayList = TestObjects.ToRecyclableArrayList();
_testObjectsAsRecyclableList = TestObjects.ToRecyclableList();
}
[GlobalCleanup]
@@ -28,6 +29,7 @@ namespace Recyclable.Collections.Benchmarks
_testRecyclableList?.Dispose();
TestObjectsAsRecyclableArrayList?.Dispose();
_testObjectsAsRecyclableArrayList = default;
_testObjectsAsRecyclableList = default;
_testObjectsAsList = default;
_testObjects = default;
}