From 8ccd129bd6ba81200773a2346a9ac80d78ad9f0f Mon Sep 17 00:00:00 2001 From: mlemanczyk Date: Sun, 30 Apr 2023 21:44:17 +0200 Subject: [PATCH] RecyclableList.IndexOf benchmark for all items added --- .../Benchmarks/IndexOf_AllItems.cs | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 Recyclable.Collections.Benchmarks/Benchmarks/IndexOf_AllItems.cs diff --git a/Recyclable.Collections.Benchmarks/Benchmarks/IndexOf_AllItems.cs b/Recyclable.Collections.Benchmarks/Benchmarks/IndexOf_AllItems.cs new file mode 100644 index 0000000..eff6950 --- /dev/null +++ b/Recyclable.Collections.Benchmarks/Benchmarks/IndexOf_AllItems.cs @@ -0,0 +1,80 @@ +using BenchmarkDotNet.Attributes; + +namespace Recyclable.Collections.Benchmarks +{ + public partial class RecyclableCollectionsBenchmarks + { + [Benchmark(Baseline = false)] + public void Array_IndexOf_AllItems() + { + var data = TestObjects; + var list = TestObjects; + var dataCount = TestObjectCount; + for (var i = 0; i < dataCount; i++) + { + DoNothing(Array.IndexOf(list, data[i])); + } + } + + [Benchmark(Baseline = false)] + public void List_IndexOf_AllItems() + { + var data = TestObjects; + var list = TestObjectsAsList; + var dataCount = TestObjectCount; + for (var i = 0; i < dataCount; i++) + { + DoNothing(list.IndexOf(data[i])); + } + } + + [Benchmark(Baseline = true)] + public void PooledList_IndexOf_AllItems() + { + var data = TestObjects; + var list = TestObjectsAsPooledList; + var dataCount = TestObjectCount; + for (var i = 0; i < dataCount; i++) + { + DoNothing(list.IndexOf(data[i])); + } + } + + [Benchmark(Baseline = false)] + public void RecyclableArrayList_IndexOf_AllItems() + { + var data = TestObjects; + var list = TestObjectsAsRecyclableArrayList; + var dataCount = TestObjectCount; + for (var i = 0; i < dataCount; i++) + { + DoNothing(list.IndexOf(data[i])); + } + } + + [Benchmark(Baseline = false)] + public void RecyclableList_IndexOf_AllItems() + { + var data = TestObjects; + var list = TestObjectsAsRecyclableList; + var dataCount = TestObjectCount; + for (var i = 0; i < dataCount; i++) + { + DoNothing(list.IndexOf(data[i])); + } + } + + [Benchmark(Baseline = false)] + public void RecyclableList_LongIndexOf_AllItems() + { + var data = TestObjects; + var list = TestObjectsAsRecyclableList; + var dataCount = TestObjectCount; + for (var i = 0; i < dataCount; i++) + { + DoNothing(list.LongIndexOf(data[i])); + } + } + + } +}