From 735503d66440bf25b266668623996803884ad5c0 Mon Sep 17 00:00:00 2001 From: mlemanczyk Date: Sat, 13 May 2023 20:43:24 +0200 Subject: [PATCH] Small RecyclableCollections.IndexOf benchmarks simplification --- .../Benchmarks/IndexOf_FirstItems.cs | 12 ++++++------ .../Benchmarks/IndexOf_LastItems.cs | 12 ++++++------ .../POC/PocBenchmarkBase.cs | 1 + 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/Recyclable.Collections.Benchmarks/Benchmarks/IndexOf_FirstItems.cs b/Recyclable.Collections.Benchmarks/Benchmarks/IndexOf_FirstItems.cs index 15e5443..df4ca9e 100644 --- a/Recyclable.Collections.Benchmarks/Benchmarks/IndexOf_FirstItems.cs +++ b/Recyclable.Collections.Benchmarks/Benchmarks/IndexOf_FirstItems.cs @@ -6,7 +6,7 @@ { var data = TestObjects; var list = TestObjects; - var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount; + var dataCount = TestObjectCountForSlowMethods; for (var i = 0; i < dataCount; i++) { DoNothing(Array.IndexOf(list, data[i])); @@ -17,7 +17,7 @@ { var data = TestObjects; var list = TestObjectsAsList; - var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount; + var dataCount = TestObjectCountForSlowMethods; for (var i = 0; i < dataCount; i++) { DoNothing(list.IndexOf(data[i])); @@ -28,7 +28,7 @@ { var data = TestObjects; var list = TestObjectsAsPooledList; - var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount; + var dataCount = TestObjectCountForSlowMethods; for (var i = 0; i < dataCount; i++) { DoNothing(list.IndexOf(data[i])); @@ -39,7 +39,7 @@ { var data = TestObjects; var list = TestObjectsAsRecyclableArrayList; - var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount; + var dataCount = TestObjectCountForSlowMethods; for (var i = 0; i < dataCount; i++) { DoNothing(list.IndexOf(data[i])); @@ -50,7 +50,7 @@ { var data = TestObjects; var list = TestObjectsAsRecyclableList; - var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount; + var dataCount = TestObjectCountForSlowMethods; for (var i = 0; i < dataCount; i++) { DoNothing(list.IndexOf(data[i])); @@ -61,7 +61,7 @@ { var data = TestObjects; var list = TestObjectsAsRecyclableList; - var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount; + var dataCount = TestObjectCountForSlowMethods; for (var i = 0; i < dataCount; i++) { DoNothing(list.LongIndexOf(data[i])); diff --git a/Recyclable.Collections.Benchmarks/Benchmarks/IndexOf_LastItems.cs b/Recyclable.Collections.Benchmarks/Benchmarks/IndexOf_LastItems.cs index e0661ad..ab77a17 100644 --- a/Recyclable.Collections.Benchmarks/Benchmarks/IndexOf_LastItems.cs +++ b/Recyclable.Collections.Benchmarks/Benchmarks/IndexOf_LastItems.cs @@ -6,7 +6,7 @@ { var data = TestObjects; var list = TestObjects; - var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount; + var dataCount = TestObjectCountForSlowMethods; for (var i = 0; i < dataCount; i++) { DoNothing(Array.IndexOf(list, data[^(i + 1)])); @@ -17,7 +17,7 @@ { var data = TestObjects; var list = TestObjectsAsList; - var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount; + var dataCount = TestObjectCountForSlowMethods; for (var i = 0; i < dataCount; i++) { DoNothing(list.IndexOf(data[^(i + 1)])); @@ -28,7 +28,7 @@ { var data = TestObjects; var list = TestObjectsAsPooledList; - var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount; + var dataCount = TestObjectCountForSlowMethods; for (var i = 0; i < dataCount; i++) { DoNothing(list.IndexOf(data[^(i + 1)])); @@ -39,7 +39,7 @@ { var data = TestObjects; var list = TestObjectsAsRecyclableArrayList; - var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount; + var dataCount = TestObjectCountForSlowMethods; for (var i = 0; i < dataCount; i++) { DoNothing(list.IndexOf(data[^(i + 1)])); @@ -50,7 +50,7 @@ { var data = TestObjects; var list = TestObjectsAsRecyclableList; - var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount; + var dataCount = TestObjectCountForSlowMethods; for (var i = 0; i < dataCount; i++) { DoNothing(list.IndexOf(data[^(i + 1)])); @@ -61,7 +61,7 @@ { var data = TestObjects; var list = TestObjectsAsRecyclableList; - var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount; + var dataCount = TestObjectCountForSlowMethods; for (var i = 0; i < dataCount; i++) { DoNothing(list.LongIndexOf(data[^(i + 1)])); diff --git a/Recyclable.Collections.Benchmarks/POC/PocBenchmarkBase.cs b/Recyclable.Collections.Benchmarks/POC/PocBenchmarkBase.cs index 978be86..2446dab 100644 --- a/Recyclable.Collections.Benchmarks/POC/PocBenchmarkBase.cs +++ b/Recyclable.Collections.Benchmarks/POC/PocBenchmarkBase.cs @@ -41,6 +41,7 @@ namespace Recyclable.Collections.Benchmarks.POC //[Params(1, 8, 16, 128, 192, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 10_000_000)] //[Params(RecyclableDefaults.MaxPooledBlockSize)] public virtual int TestObjectCount { get; set; }= 524_288; //131_072; + public virtual int TestObjectCountForSlowMethods => Math.Min(TestObjectCount, 100); //[Params(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200)] //[Params(10, 20, 50, 100)]