RecyclableArrayList.AddRange added. Smaller perf improvements.

This commit is contained in:
mlemanczyk committed 2023-01-13 19:45:22 +01:00
1 parent 880abd605e
commit 012fc3b21f
8 files changed
+134 -25

No files matched your search

@@ -29,11 +29,11 @@
//public class ListVsLinkedListBenchmarks
//{
// [Benchmark]
// public void RecyclableBlockList()
// public void RecyclableArrayList()
// {
// var data = TestObjects;
// var dataCount = TestObjectCount;
// using var list = new RecyclableBlockList<object>(initialCapacity: dataCount);
// using var list = new RecyclableArrayList<object>(initialCapacity: dataCount);
// for (long i = 0; i < dataCount; i++)
// {
// list.Add(data[i]);
+3 -1
View File
@@ -5,7 +5,9 @@ using Recyclable.Collections.Benchmarks;
BenchmarkRunner.Run<RecyclableCollectionsBenchmarks>();
//var test = new RecyclableCollectionsBenchmarks();
//var benchmark = new RecyclableCollectionsBenchmarks();
//benchmark.RecyclableArrayList_Add();
//benchmark.RecyclableArrayList_Add_WithCapacity();
//BenchmarkRunner.Run<DelegateVsComparerBenchmark>();
@@ -6,28 +6,28 @@ namespace Recyclable.Collections.Benchmarks
{
private readonly List<object> _testList;
[Benchmark(Baseline = true)]
//[Benchmark(Baseline = true)]
public void List_Create()
{
var list = new List<object>();
DoNothing(list);
}
[Benchmark]
//[Benchmark]
public void List_Create_0Capacity()
{
var list = new List<object>(0);
DoNothing(list);
}
[Benchmark]
//[Benchmark]
public void List_Create_WithCapacity()
{
var list = new List<object>(TestObjectCount);
DoNothing(list);
}
//[Benchmark]
[Benchmark]
public void List_Add()
{
var data = TestObjects;
@@ -39,7 +39,7 @@ namespace Recyclable.Collections.Benchmarks
}
}
//[Benchmark]
[Benchmark(Baseline = true)]
public void List_Add_WithCapacity()
{
var data = TestObjects;
@@ -51,6 +51,23 @@ namespace Recyclable.Collections.Benchmarks
}
}
[Benchmark]
public void List_AddRange()
{
var data = TestObjects;
var list = new List<object>();
list.AddRange(data);
}
[Benchmark]
public void List_AddRange_WithCapacity()
{
var data = TestObjects;
var dataCount = TestObjectCount;
var list = new List<object>(dataCount);
list.AddRange(data);
}
//[Benchmark]
public void List_GetItem()
{
@@ -20,28 +20,28 @@ namespace Recyclable.Collections.Benchmarks
_testRecyclableList?.Dispose();
}
[Benchmark]
//[Benchmark]
public void RecyclableArrayList_Create()
{
using var list = new RecyclableArrayList<object>();
DoNothing(list);
}
[Benchmark]
//[Benchmark]
public void RecyclableArrayList_Create_0Capacity()
{
using var list = new RecyclableArrayList<object>(0);
DoNothing(list);
}
[Benchmark]
//[Benchmark]
public void RecyclableArrayList_Create_WithCapacity()
{
using var list = new RecyclableArrayList<object>(TestObjectCount);
DoNothing(list);
}
//[Benchmark]
[Benchmark]
public void RecyclableArrayList_Add()
{
var data = TestObjects;
@@ -53,7 +53,7 @@ namespace Recyclable.Collections.Benchmarks
}
}
//[Benchmark]
[Benchmark]
public void RecyclableArrayList_Add_WithCapacity()
{
var data = TestObjects;
@@ -65,6 +65,23 @@ namespace Recyclable.Collections.Benchmarks
}
}
[Benchmark]
public void RecyclableArrayList_AddRange()
{
var data = TestObjects;
using var list = new RecyclableArrayList<object>();
list.AddRange(data);
}
[Benchmark]
public void RecyclableArrayList_AddRange_WithCapacity()
{
var data = TestObjects;
var dataCount = TestObjectCount;
using var list = new RecyclableArrayList<object>(dataCount);
list.AddRange(data);
}
//[Benchmark]
public void RecyclableArrayList_GetItem()
{
@@ -6,28 +6,28 @@ namespace Recyclable.Collections.Benchmarks
{
private readonly RecyclableList<object> _testRecyclableList;
[Benchmark]
//[Benchmark]
public void RecyclableList_Create()
{
using var list = new RecyclableList<object>();
DoNothing(list);
}
[Benchmark]
//[Benchmark]
public void RecyclableList_Create_0Capacity()
{
using var list = new RecyclableList<object>(totalItemsCount: 0);
DoNothing(list);
}
[Benchmark]
//[Benchmark]
public void RecyclableList_Create_WithCapacity()
{
using var list = new RecyclableList<object>(totalItemsCount: TestObjectCount);
DoNothing(list);
}
//[Benchmark]
[Benchmark]
public void RecyclableList_Add()
{
var data = TestObjects;
@@ -39,7 +39,7 @@ namespace Recyclable.Collections.Benchmarks
}
}
//[Benchmark]
[Benchmark]
public void RecyclableList_Add_WithCapacity()
{
var data = TestObjects;