New benchmarks addedo

This commit is contained in:
Marek Lemańczyk committed 2023-03-10 17:09:53 +01:00
1 parent 3ce3becfbd
commit 41ad48d4e6
4 files changed
+69 -19

No files matched your search

+2 -1
View File
@@ -25,7 +25,8 @@ internal class Program
//benchmark.RecyclableList_Add(); //benchmark.RecyclableList_Add();
//benchmark.RecyclableList_Add_WithCapacity(); //benchmark.RecyclableList_Add_WithCapacity();
//benchmark.RecyclableList_Contains_LastItems(); //benchmark.RecyclableList_Contains_LastItems();
benchmark.RecyclableList_IndexOf_FirstItems(); //benchmark.RecyclableList_IndexOf_FirstItems();
benchmark.RecyclableList_AddRangeWhenSourceIsList();
} }
benchmark.Cleanup(); benchmark.Cleanup();
@@ -30,7 +30,7 @@ namespace Recyclable.Collections.Benchmarks
} }
} }
//[Benchmark(Baseline = false)] [Benchmark(Baseline = true)]
public void List_Add_WithCapacity() public void List_Add_WithCapacity()
{ {
var data = TestObjects; var data = TestObjects;
@@ -42,7 +42,7 @@ namespace Recyclable.Collections.Benchmarks
} }
} }
//[Benchmark] [Benchmark]
public void List_AddRangeWhenSourceIsArray() public void List_AddRangeWhenSourceIsArray()
{ {
var data = TestObjects; var data = TestObjects;
@@ -50,7 +50,7 @@ namespace Recyclable.Collections.Benchmarks
list.AddRange(data); list.AddRange(data);
} }
//[Benchmark] [Benchmark]
public void List_AddRangeWhenSourceIsList() public void List_AddRangeWhenSourceIsList()
{ {
var data = TestObjectsAsList; var data = TestObjectsAsList;
@@ -58,7 +58,7 @@ namespace Recyclable.Collections.Benchmarks
list.AddRange(data); list.AddRange(data);
} }
//[Benchmark] [Benchmark]
public void List_AddRangeWhenSourceIsIList() public void List_AddRangeWhenSourceIsIList()
{ {
var data = (IList<object>)TestObjectsAsList; var data = (IList<object>)TestObjectsAsList;
@@ -66,7 +66,7 @@ namespace Recyclable.Collections.Benchmarks
list.AddRange(data); list.AddRange(data);
} }
//[Benchmark] [Benchmark]
public void List_AddRangeWhenSourceIsIEnumerable() public void List_AddRangeWhenSourceIsIEnumerable()
{ {
var data = TestObjectsAsIEnumerable; var data = TestObjectsAsIEnumerable;
@@ -74,7 +74,7 @@ namespace Recyclable.Collections.Benchmarks
list.AddRange(data); list.AddRange(data);
} }
//[Benchmark(Baseline = false)] [Benchmark(Baseline = false)]
public void List_AddRange_WithCapacity() public void List_AddRange_WithCapacity()
{ {
var data = TestObjects; var data = TestObjects;
@@ -136,7 +136,7 @@ namespace Recyclable.Collections.Benchmarks
} }
} }
[Benchmark(Baseline = true)] //[Benchmark(Baseline = true)]
public void List_IndexOf_FirstItems() public void List_IndexOf_FirstItems()
{ {
var data = TestObjects; var data = TestObjects;
@@ -148,7 +148,7 @@ namespace Recyclable.Collections.Benchmarks
} }
} }
[Benchmark] //[Benchmark]
public void List_IndexOf_LastItems() public void List_IndexOf_LastItems()
{ {
var data = TestObjects; var data = TestObjects;
@@ -42,7 +42,7 @@ namespace Recyclable.Collections.Benchmarks
} }
} }
//[Benchmark] [Benchmark]
public void RecyclableArrayList_AddRangeWhenSourceIsArray() public void RecyclableArrayList_AddRangeWhenSourceIsArray()
{ {
var data = TestObjects; var data = TestObjects;
@@ -50,7 +50,7 @@ namespace Recyclable.Collections.Benchmarks
list.AddRange(data); list.AddRange(data);
} }
//[Benchmark] [Benchmark]
public void RecyclableArrayList_AddRangeWhenSourceIsList() public void RecyclableArrayList_AddRangeWhenSourceIsList()
{ {
var data = TestObjectsAsList; var data = TestObjectsAsList;
@@ -58,7 +58,7 @@ namespace Recyclable.Collections.Benchmarks
list.AddRange(data); list.AddRange(data);
} }
//[Benchmark] [Benchmark]
public void RecyclableArrayList_AddRangeWhenSourceIsIList() public void RecyclableArrayList_AddRangeWhenSourceIsIList()
{ {
var data = (IList<object>)TestObjectsAsList; var data = (IList<object>)TestObjectsAsList;
@@ -66,7 +66,7 @@ namespace Recyclable.Collections.Benchmarks
list.AddRange(data); list.AddRange(data);
} }
//[Benchmark] [Benchmark]
public void RecyclableArrayList_AddRangeWhenSourceIsIEnumerable() public void RecyclableArrayList_AddRangeWhenSourceIsIEnumerable()
{ {
var data = TestObjectsAsIEnumerable; var data = TestObjectsAsIEnumerable;
@@ -74,7 +74,7 @@ namespace Recyclable.Collections.Benchmarks
list.AddRange(data); list.AddRange(data);
} }
//[Benchmark] [Benchmark]
public void RecyclableArrayList_AddRangeWhenSourceIsRecyclableArrayList() public void RecyclableArrayList_AddRangeWhenSourceIsRecyclableArrayList()
{ {
var data = TestObjectsAsRecyclableArrayList; var data = TestObjectsAsRecyclableArrayList;
@@ -82,7 +82,7 @@ namespace Recyclable.Collections.Benchmarks
list.AddRange(data); list.AddRange(data);
} }
//[Benchmark] [Benchmark]
public void RecyclableArrayList_AddRange_WithCapacity() public void RecyclableArrayList_AddRange_WithCapacity()
{ {
var data = TestObjects; var data = TestObjects;
@@ -14,7 +14,7 @@ namespace Recyclable.Collections.Benchmarks
//[Benchmark] //[Benchmark]
public void RecyclableList_Create_WithCapacity() public void RecyclableList_Create_WithCapacity()
{ {
using var list = new RecyclableList<object>(minBlockSize: 102_400, expectedItemsCount: TestObjectCount); using var list = new RecyclableList<object>(minBlockSize: BlockSize, expectedItemsCount: TestObjectCount);
DoNothing(list); DoNothing(list);
} }
@@ -35,13 +35,62 @@ namespace Recyclable.Collections.Benchmarks
{ {
var data = TestObjects; var data = TestObjects;
var dataCount = TestObjectCount; var dataCount = TestObjectCount;
using var list = new RecyclableList<object>(minBlockSize: 102_400, expectedItemsCount: dataCount); using var list = new RecyclableList<object>(minBlockSize: BlockSize, expectedItemsCount: dataCount);
for (var i = 0; i < dataCount; i++) for (var i = 0; i < dataCount; i++)
{ {
list.Add(data[i]); list.Add(data[i]);
} }
} }
[Benchmark]
public void RecyclableList_AddRangeWhenSourceIsArray()
{
var data = TestObjects;
using var list = new RecyclableList<object>(minBlockSize: BlockSize, expectedItemsCount: TestObjectCount);
list.AddRange(data);
}
[Benchmark]
public void RecyclableList_AddRangeWhenSourceIsList()
{
var data = TestObjectsAsList;
using var list = new RecyclableList<object>(minBlockSize: BlockSize, expectedItemsCount: TestObjectCount);
list.AddRange(data);
}
[Benchmark]
public void RecyclableList_AddRangeWhenSourceIsIList()
{
var data = (IList<object>)TestObjectsAsList;
using var list = new RecyclableList<object>(minBlockSize: BlockSize, expectedItemsCount: TestObjectCount);
list.AddRange(data);
}
[Benchmark]
public void RecyclableList_AddRangeWhenSourceIsIEnumerable()
{
var data = TestObjectsAsIEnumerable;
using var list = new RecyclableList<object>(minBlockSize: BlockSize, expectedItemsCount: TestObjectCount);
list.AddRange(data);
}
[Benchmark]
public void RecyclableList_AddRangeWhenSourceIsRecyclableArrayList()
{
var data = TestObjectsAsRecyclableArrayList;
using var list = new RecyclableList<object>(minBlockSize: BlockSize, expectedItemsCount: TestObjectCount);
list.AddRange(data);
}
[Benchmark]
public void RecyclableList_AddRange_WithCapacity()
{
var data = TestObjects;
var dataCount = TestObjectCount;
using var list = new RecyclableList<object>(minBlockSize: BlockSize, expectedItemsCount: TestObjectCount);
list.AddRange(data);
}
//[Benchmark] //[Benchmark]
public void RecyclableList_GetItem() public void RecyclableList_GetItem()
{ {
@@ -102,7 +151,7 @@ namespace Recyclable.Collections.Benchmarks
} }
} }
[Benchmark] //[Benchmark]
public void RecyclableList_IndexOf_FirstItems() public void RecyclableList_IndexOf_FirstItems()
{ {
var data = TestObjects; var data = TestObjects;
@@ -114,7 +163,7 @@ namespace Recyclable.Collections.Benchmarks
} }
} }
[Benchmark] //[Benchmark]
public void RecyclableList_IndexOf_LastItems() public void RecyclableList_IndexOf_LastItems()
{ {
var data = TestObjects; var data = TestObjects;