diff --git a/Recyclable.Collections.Benchmarks/Program.cs b/Recyclable.Collections.Benchmarks/Program.cs index d5cb50b..a25e11f 100644 --- a/Recyclable.Collections.Benchmarks/Program.cs +++ b/Recyclable.Collections.Benchmarks/Program.cs @@ -10,7 +10,7 @@ var benchmark = new RecyclableCollectionsBenchmarks(); benchmark.Setup(); //benchmark.RecyclableArrayList_AddRange_WithCapacity(); //benchmark.RecyclableArrayList_Add_WithCapacity(); -benchmark.RecyclableList_Add(); +benchmark.RecyclableList_Add_WithCapacity(); //BenchmarkRunner.Run(); diff --git a/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.Array.cs b/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.Array.cs index 3ebe96d..2615e22 100644 --- a/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.Array.cs +++ b/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.Array.cs @@ -5,9 +5,7 @@ namespace Recyclable.Collections.Benchmarks [MemoryDiagnoser] public partial class RecyclableCollectionsBenchmarks : BenchmarkBase { - private object[] _testArray; - - //[Benchmark(Baseline = true)] + //[Benchmark(Baseline = false)] public void Array_Create_WithCapacity() { var data = new object[TestObjectCount]; diff --git a/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.List.cs b/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.List.cs index 8df675e..2996574 100644 --- a/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.List.cs +++ b/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.List.cs @@ -4,21 +4,21 @@ namespace Recyclable.Collections.Benchmarks { public partial class RecyclableCollectionsBenchmarks : BenchmarkBase { - [Benchmark(Baseline = true)] + //[Benchmark(Baseline = true)] public void List_Create() { var list = new List(); DoNothing(list); } - [Benchmark] + //[Benchmark] public void List_Create_WithCapacity() { var list = new List(TestObjectCount); DoNothing(list); } - [Benchmark] + //[Benchmark] public void List_Add() { var data = TestObjects; @@ -30,7 +30,7 @@ namespace Recyclable.Collections.Benchmarks } } - [Benchmark(Baseline = false)] + //[Benchmark(Baseline = false)] public void List_Add_WithCapacity() { var data = TestObjects; diff --git a/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.RecyclableArrayList.cs b/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.RecyclableArrayList.cs index dfd26e8..49945f1 100644 --- a/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.RecyclableArrayList.cs +++ b/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.RecyclableArrayList.cs @@ -4,33 +4,6 @@ namespace Recyclable.Collections.Benchmarks { public partial class RecyclableCollectionsBenchmarks : BenchmarkBase { - private RecyclableArrayList _testRecyclableArrayList; - - [GlobalSetup] - public void Setup() - { - Console.WriteLine("******* GLOBAL SETUP RAISED *******"); - _testObjects = Enumerable.Range(1, TestObjectCount).Select(x => new object()).ToArray(); - _testRecyclableArrayList = new(TestObjects, TestObjectCount); - _testRecyclableList = new(TestObjects, TestObjectCount); - _testArray = TestObjects.ToArray(); - _testObjectsAsList = TestObjects.ToList(); - _testObjectsAsRecyclableArrayList = TestObjects.ToRecyclableArrayList(); - } - - - [GlobalCleanup] - public void Cleanup() - { - Console.WriteLine("******* GLOBAL CLEANUP *******"); - _testRecyclableArrayList?.Dispose(); - _testRecyclableList?.Dispose(); - TestObjectsAsRecyclableArrayList?.Dispose(); - _testObjectsAsRecyclableArrayList = default; - _testObjectsAsList = default; - _testObjects = default; - } - [Benchmark] public void RecyclableArrayList_Create() { diff --git a/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.RecyclableList.cs b/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.RecyclableList.cs index 37e8da2..e253cd5 100644 --- a/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.RecyclableList.cs +++ b/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.RecyclableList.cs @@ -4,8 +4,6 @@ namespace Recyclable.Collections.Benchmarks { public partial class RecyclableCollectionsBenchmarks : BenchmarkBase { - private RecyclableList _testRecyclableList; - [Benchmark] public void RecyclableList_Create() { diff --git a/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.cs b/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.cs new file mode 100644 index 0000000..9ab8cd9 --- /dev/null +++ b/Recyclable.Collections.Benchmarks/RecyclableCollectionsBenchmarks.cs @@ -0,0 +1,40 @@ +using BenchmarkDotNet.Attributes; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Recyclable.Collections.Benchmarks +{ + public partial class RecyclableCollectionsBenchmarks + { + private object[] _testArray; + private RecyclableArrayList _testRecyclableArrayList; + private RecyclableList _testRecyclableList; + + [GlobalSetup] + public void Setup() + { + Console.WriteLine("******* GLOBAL SETUP RAISED *******"); + _testObjects = Enumerable.Range(1, TestObjectCount).Select(x => new object()).ToArray(); + _testRecyclableArrayList = new(TestObjects, TestObjectCount); + _testRecyclableList = new(TestObjects, TestObjectCount); + _testArray = TestObjects.ToArray(); + _testObjectsAsList = TestObjects.ToList(); + _testObjectsAsRecyclableArrayList = TestObjects.ToRecyclableArrayList(); + } + + [GlobalCleanup] + public void Cleanup() + { + Console.WriteLine("******* GLOBAL CLEANUP *******"); + _testRecyclableArrayList?.Dispose(); + _testRecyclableList?.Dispose(); + TestObjectsAsRecyclableArrayList?.Dispose(); + _testObjectsAsRecyclableArrayList = default; + _testObjectsAsList = default; + _testObjects = default; + } + } +} diff --git a/Recyclable.Collections.Benchmarks/RefVsInstanceMemberBenchmarks.cs b/Recyclable.Collections.Benchmarks/RefVsInstanceMemberBenchmarks.cs index 2851a58..cd21368 100644 --- a/Recyclable.Collections.Benchmarks/RefVsInstanceMemberBenchmarks.cs +++ b/Recyclable.Collections.Benchmarks/RefVsInstanceMemberBenchmarks.cs @@ -1,10 +1,4 @@ using BenchmarkDotNet.Attributes; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection.Metadata.Ecma335; -using System.Text; -using System.Threading.Tasks; namespace Recyclable.Collections.Benchmarks {