This commit is contained in:
mlemanczyk committed 2023-10-21 17:26:35 +02:00
1 parent 0159042755
commit ec69b1c406
38 files changed
+167 -181

No files matched your search

@@ -8,7 +8,7 @@ namespace Recyclable.Collections.Benchmarks
{
var data = TestObjects;
var dataCount = TestObjectCount;
var list = new long[dataCount];
var list = new int[dataCount];
for (var i = 0; i < dataCount; i++)
{
list[i] = data[i];
@@ -19,7 +19,7 @@ namespace Recyclable.Collections.Benchmarks
{
var data = TestObjects;
var dataCount = TestObjectCount;
var list = new List<long>();
var list = new List<int>();
for (var i = 0; i < dataCount; i++)
{
list.Add(data[i]);
@@ -30,7 +30,7 @@ namespace Recyclable.Collections.Benchmarks
{
var data = TestObjects;
var dataCount = TestObjectCount;
using var list = new PooledList<long>(ClearMode.Auto);
using var list = new PooledList<int>(ClearMode.Auto);
for (var i = 0; i < dataCount; i++)
{
list.Add(data[i]);
@@ -41,7 +41,7 @@ namespace Recyclable.Collections.Benchmarks
{
var data = TestObjects;
var dataCount = TestObjectCount;
using var list = new RecyclableList<long>();
using var list = new RecyclableList<int>();
for (var i = 0; i < dataCount; i++)
{
list.Add(data[i]);
@@ -52,7 +52,7 @@ namespace Recyclable.Collections.Benchmarks
{
var data = TestObjects;
var dataCount = TestObjectCount;
using var list = new RecyclableLongList<long>();
using var list = new RecyclableLongList<int>();
for (var i = 0; i < dataCount; i++)
{
list.Add(data[i]);
@@ -7,35 +7,35 @@ namespace Recyclable.Collections.Benchmarks
public void Array_AddRangeWhenSourceIsArray()
{
var data = TestObjects;
var list = new long[TestObjectCount];
var list = new int[TestObjectCount];
data.CopyTo(list, 0);
}
public void List_AddRangeWhenSourceIsArray()
{
var data = TestObjects;
var list = new List<long>();
var list = new List<int>();
list.AddRange(data);
}
public void PooledList_AddRangeWhenSourceIsArray()
{
var data = TestObjects;
using var list = new PooledList<long>(ClearMode.Auto);
using var list = new PooledList<int>(ClearMode.Auto);
list.AddRange(data);
}
public void RecyclableList_AddRangeWhenSourceIsArray()
{
var data = TestObjects;
using var list = new RecyclableList<long>();
using var list = new RecyclableList<int>();
list.AddRange(data);
}
public void RecyclableLongList_AddRangeWhenSourceIsArray()
{
var data = TestObjects;
using var list = new RecyclableLongList<long>(minBlockSize: BlockSize);
using var list = new RecyclableLongList<int>(minBlockSize: BlockSize);
list.AddRange(data);
}
}
@@ -7,7 +7,7 @@ namespace Recyclable.Collections.Benchmarks
public void Array_AddRangeWhenSourceIsIEnumerable()
{
var data = TestObjectsAsIEnumerable;
var list = new long[TestObjectCount];
var list = new int[TestObjectCount];
int itemIndex = 0;
foreach (var item in data)
@@ -19,28 +19,28 @@ namespace Recyclable.Collections.Benchmarks
public void List_AddRangeWhenSourceIsIEnumerable()
{
var data = TestObjectsAsIEnumerable;
var list = new List<long>();
var list = new List<int>();
list.AddRange(data);
}
public void PooledList_AddRangeWhenSourceIsIEnumerable()
{
var data = TestObjectsAsIEnumerable;
using var list = new PooledList<long>(ClearMode.Auto);
using var list = new PooledList<int>(ClearMode.Auto);
list.AddRange(data);
}
public void RecyclableList_AddRangeWhenSourceIsIEnumerable()
{
var data = TestObjectsAsIEnumerable;
using var list = new RecyclableList<long>();
using var list = new RecyclableList<int>();
list.AddRange(data);
}
public void RecyclableLongList_AddRangeWhenSourceIsIEnumerable()
{
var data = TestObjectsAsIEnumerable;
using var list = new RecyclableLongList<long>(minBlockSize: BlockSize);
using var list = new RecyclableLongList<int>(minBlockSize: BlockSize);
list.AddRange(data);
}
}
@@ -6,36 +6,36 @@ namespace Recyclable.Collections.Benchmarks
{
public void Array_AddRangeWhenSourceIsIList()
{
var data = (IList<long>)TestObjectsAsRecyclableLongList;
var list = new long[TestObjectCount];
var data = (IList<int>)TestObjectsAsRecyclableLongList;
var list = new int[TestObjectCount];
data.CopyTo(list, 0);
}
public void List_AddRangeWhenSourceIsIList()
{
var data = (IList<long>)TestObjectsAsRecyclableLongList;
var list = new List<long>();
var data = (IList<int>)TestObjectsAsRecyclableLongList;
var list = new List<int>();
list.AddRange(data);
}
public void PooledList_AddRangeWhenSourceIsIList()
{
var data = (IList<long>)TestObjectsAsRecyclableLongList;
using var list = new PooledList<long>(ClearMode.Auto);
var data = (IList<int>)TestObjectsAsRecyclableLongList;
using var list = new PooledList<int>(ClearMode.Auto);
list.AddRange(data);
}
public void RecyclableList_AddRangeWhenSourceIsIList()
{
var data = (IList<long>)TestObjectsAsRecyclableLongList;
using var list = new RecyclableList<long>();
var data = (IList<int>)TestObjectsAsRecyclableLongList;
using var list = new RecyclableList<int>();
list.AddRange(data);
}
public void RecyclableLongList_AddRangeWhenSourceIsIList()
{
var data = (IList<long>)TestObjectsAsRecyclableLongList;
using var list = new RecyclableLongList<long>(minBlockSize: BlockSize);
var data = (IList<int>)TestObjectsAsRecyclableLongList;
using var list = new RecyclableLongList<int>(minBlockSize: BlockSize);
list.AddRange(data);
}
}
@@ -7,35 +7,35 @@ namespace Recyclable.Collections.Benchmarks
public void Array_AddRangeWhenSourceIsList()
{
var data = TestObjectsAsList;
var list = new long[TestObjectCount];
var list = new int[TestObjectCount];
data.CopyTo(list, 0);
}
public void List_AddRangeWhenSourceIsList()
{
var data = TestObjectsAsList;
var list = new List<long>();
var list = new List<int>();
list.AddRange(data);
}
public void PooledList_AddRangeWhenSourceIsList()
{
var data = TestObjectsAsList;
using var list = new PooledList<long>(ClearMode.Auto);
using var list = new PooledList<int>(ClearMode.Auto);
list.AddRange(data);
}
public void RecyclableList_AddRangeWhenSourceIsList()
{
var data = TestObjectsAsList;
using var list = new RecyclableList<long>();
using var list = new RecyclableList<int>();
list.AddRange(data);
}
public void RecyclableLongList_AddRangeWhenSourceIsList()
{
var data = TestObjectsAsList;
using var list = new RecyclableLongList<long>(minBlockSize: BlockSize);
using var list = new RecyclableLongList<int>(minBlockSize: BlockSize);
list.AddRange(data);
}
}
@@ -7,21 +7,21 @@ namespace Recyclable.Collections.Benchmarks
public void PooledList_AddRangeWhenSourceIsPooledList()
{
var data = TestObjectsAsPooledList;
using var list = new PooledList<long>(capacity: TestObjectCount, ClearMode.Auto);
using var list = new PooledList<int>(capacity: TestObjectCount, ClearMode.Auto);
list.AddRange(data);
}
public void RecyclableList_AddRangeWhenSourceIsRecyclableList()
{
var data = TestObjectsAsRecyclableList;
using var list = new RecyclableList<long>(TestObjectCount);
using var list = new RecyclableList<int>(TestObjectCount);
list.AddRange(data);
}
public void RecyclableLongList_AddRangeWhenSourceIsRecyclableLongList()
{
var data = TestObjectsAsRecyclableList;
using var list = new RecyclableLongList<long>(minBlockSize: BlockSize, initialCapacity: TestObjectCount);
using var list = new RecyclableLongList<int>(minBlockSize: BlockSize, initialCapacity: TestObjectCount);
list.AddRange(data);
}
}
@@ -8,7 +8,7 @@ namespace Recyclable.Collections.Benchmarks
{
var data = TestObjects;
var dataCount = TestObjectCount;
var list = new long[dataCount];
var list = new int[dataCount];
data.CopyTo(list, 0);
}
@@ -16,7 +16,7 @@ namespace Recyclable.Collections.Benchmarks
{
var data = TestObjects;
var dataCount = TestObjectCount;
var list = new List<long>(dataCount);
var list = new List<int>(dataCount);
list.AddRange(data);
}
@@ -24,7 +24,7 @@ namespace Recyclable.Collections.Benchmarks
{
var data = TestObjects;
var dataCount = TestObjectCount;
using var list = new PooledList<long>(capacity: dataCount, ClearMode.Auto);
using var list = new PooledList<int>(capacity: dataCount, ClearMode.Auto);
list.AddRange(data);
}
@@ -32,7 +32,7 @@ namespace Recyclable.Collections.Benchmarks
{
var data = TestObjects;
var dataCount = TestObjectCount;
using var list = new RecyclableList<long>(dataCount);
using var list = new RecyclableList<int>(dataCount);
list.AddRange(data);
}
@@ -40,7 +40,7 @@ namespace Recyclable.Collections.Benchmarks
{
var data = TestObjects;
var dataCount = TestObjectCount;
using var list = new RecyclableLongList<long>(minBlockSize: BlockSize, initialCapacity: dataCount);
using var list = new RecyclableLongList<int>(minBlockSize: BlockSize, initialCapacity: dataCount);
list.AddRange(data);
}
}
@@ -8,7 +8,7 @@ namespace Recyclable.Collections.Benchmarks
{
var data = TestObjects;
var dataCount = TestObjectCount;
var list = new List<long>(dataCount);
var list = new List<int>(dataCount);
for (var i = 0; i < dataCount; i++)
{
list.Add(data[i]);
@@ -19,7 +19,7 @@ namespace Recyclable.Collections.Benchmarks
{
var data = TestObjects;
var dataCount = TestObjectCount;
using var list = new PooledList<long>(capacity: dataCount, ClearMode.Auto);
using var list = new PooledList<int>(capacity: dataCount, ClearMode.Auto);
for (var i = 0; i < dataCount; i++)
{
list.Add(data[i]);
@@ -30,7 +30,7 @@ namespace Recyclable.Collections.Benchmarks
{
var data = TestObjects;
var dataCount = TestObjectCount;
using var list = new RecyclableList<long>(dataCount);
using var list = new RecyclableList<int>(dataCount);
for (var i = 0; i < dataCount; i++)
{
list.Add(data[i]);
@@ -41,7 +41,7 @@ namespace Recyclable.Collections.Benchmarks
{
var data = TestObjects;
var dataCount = TestObjectCount;
using var list = new RecyclableLongList<long>(minBlockSize: BlockSize, initialCapacity: dataCount);
using var list = new RecyclableLongList<int>(minBlockSize: BlockSize, initialCapacity: dataCount);
for (var i = 0; i < dataCount; i++)
{
list.Add(data[i]);
@@ -8,31 +8,31 @@ namespace Recyclable.Collections.Benchmarks
{
public void Array_Create()
{
var list = new long[0];
var list = new int[0];
DoNothing(list);
}
public void List_Create()
{
var list = new List<long>();
var list = new List<int>();
DoNothing(list);
}
public void PooledList_Create()
{
using var list = new PooledList<long>(ClearMode.Auto);
using var list = new PooledList<int>(ClearMode.Auto);
DoNothing(list);
}
public void RecyclableList_Create()
{
using var list = new RecyclableList<long>();
using var list = new RecyclableList<int>();
DoNothing(list);
}
public void RecyclableLongList_Create()
{
using var list = new RecyclableLongList<long>();
using var list = new RecyclableLongList<int>();
DoNothing(list);
}
}
@@ -6,31 +6,31 @@ namespace Recyclable.Collections.Benchmarks
{
public void Array_Create_WithCapacity()
{
var data = new long[TestObjectCount];
var data = new int[TestObjectCount];
DoNothing(data);
}
public void List_Create_WithCapacity()
{
var list = new List<long>(TestObjectCount);
var list = new List<int>(TestObjectCount);
DoNothing(list);
}
public void PooledList_Create_WithCapacity()
{
using var list = new PooledList<long>(capacity: TestObjectCount, ClearMode.Auto);
using var list = new PooledList<int>(capacity: TestObjectCount, ClearMode.Auto);
DoNothing(list);
}
public void RecyclableList_Create_WithCapacity()
{
using var list = new RecyclableList<long>(TestObjectCount);
using var list = new RecyclableList<int>(TestObjectCount);
DoNothing(list);
}
public void RecyclableLongList_Create_WithCapacity()
{
using var list = new RecyclableLongList<long>(minBlockSize: BlockSize, initialCapacity: TestObjectCount);
using var list = new RecyclableLongList<int>(minBlockSize: BlockSize, initialCapacity: TestObjectCount);
DoNothing(list);
}
}
@@ -58,10 +58,10 @@
int blockSize = data.BlockSize;
int nextItemBlockIndex = data.NextItemBlockIndex;
var memoryBlocks = new Span<long[]>(data.AsArray, 0, data.LastBlockWithData + 1);
var memoryBlocks = new Span<int[]>(data.AsArray, 0, data.LastBlockWithData + 1);
for (var blockIndex = 0; blockIndex < nextItemBlockIndex; blockIndex++)
{
var memoryBlock = new Span<long>(memoryBlocks[blockIndex], 0, blockSize);
var memoryBlock = new Span<int>(memoryBlocks[blockIndex], 0, blockSize);
for (var itemIndex = 0; itemIndex < blockSize; itemIndex++)
{
DoNothing(memoryBlock[itemIndex]);
@@ -70,7 +70,7 @@
if (nextItemBlockIndex == data.LastBlockWithData)
{
var memoryBlock = new Span<long>(memoryBlocks[nextItemBlockIndex], 0, data.NextItemIndex);
var memoryBlock = new Span<int>(memoryBlocks[nextItemBlockIndex], 0, data.NextItemIndex);
for (var itemIndex = 0; itemIndex < memoryBlock.Length; itemIndex++)
{
DoNothing(memoryBlock[itemIndex]);
@@ -117,7 +117,7 @@
public void RecyclableLongList_GetItem_AsWhile()
{
var data = TestObjectsAsRecyclableLongList;
long dataCount = TestObjectCount;
int dataCount = TestObjectCount;
if (dataCount == 0)
{
return;
@@ -7,7 +7,7 @@ namespace Recyclable.Collections.Benchmarks
public void List_RemoveAt_FirstItems()
{
var data = TestObjects;
var list = new List<long>(data);
var list = new List<int>(data);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = 0; i < dataCount; i++)
{
@@ -18,7 +18,7 @@ namespace Recyclable.Collections.Benchmarks
public void PooledList_RemoveAt_FirstItems()
{
var data = TestObjects;
using var list = new PooledList<long>(data, ClearMode.Auto);
using var list = new PooledList<int>(data, ClearMode.Auto);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = 0; i < dataCount; i++)
{
@@ -29,7 +29,7 @@ namespace Recyclable.Collections.Benchmarks
public void RecyclableList_RemoveAt_FirstItems()
{
var data = TestObjects;
using var list = new RecyclableList<long>(data);
using var list = new RecyclableList<int>(data);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = 0; i < dataCount; i++)
{
@@ -40,7 +40,7 @@ namespace Recyclable.Collections.Benchmarks
public void RecyclableLongList_RemoveAt_FirstItems()
{
var data = TestObjects;
using var list = new RecyclableLongList<long>(data, minBlockSize: BlockSize, initialCapacity: base.TestObjectCount);
using var list = new RecyclableLongList<int>(data, minBlockSize: BlockSize, initialCapacity: base.TestObjectCount);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = 0; i < dataCount; i++)
{
@@ -7,7 +7,7 @@ namespace Recyclable.Collections.Benchmarks
public void List_RemoveAt_LastItems()
{
var data = TestObjects;
var list = new List<long>(data);
var list = new List<int>(data);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = data.Length - 1; i > data.Length - dataCount - 1; i--)
{
@@ -18,7 +18,7 @@ namespace Recyclable.Collections.Benchmarks
public void PooledList_RemoveAt_LastItems()
{
var data = TestObjects;
using var list = new PooledList<long>(data, ClearMode.Auto);
using var list = new PooledList<int>(data, ClearMode.Auto);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = data.Length - 1; i > data.Length - dataCount - 1; i--)
{
@@ -29,7 +29,7 @@ namespace Recyclable.Collections.Benchmarks
public void RecyclableList_RemoveAt_LastItems()
{
var data = TestObjects;
using var list = new RecyclableList<long>(data);
using var list = new RecyclableList<int>(data);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = data.Length - 1; i > data.Length - dataCount - 1; i--)
{
@@ -40,7 +40,7 @@ namespace Recyclable.Collections.Benchmarks
public void RecyclableLongList_RemoveAt_LastItems()
{
var data = TestObjects;
using var list = new RecyclableLongList<long>(data, minBlockSize: BlockSize, initialCapacity: base.TestObjectCount);
using var list = new RecyclableLongList<int>(data, minBlockSize: BlockSize, initialCapacity: base.TestObjectCount);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = data.Length - 1; i > data.Length - dataCount - 1; i--)
{
@@ -7,7 +7,7 @@ namespace Recyclable.Collections.Benchmarks
public void List_Remove_FirstItems()
{
var data = TestObjects;
var list = new List<long>(data);
var list = new List<int>(data);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = 0; i < dataCount; i++)
{
@@ -18,7 +18,7 @@ namespace Recyclable.Collections.Benchmarks
public void PooledList_Remove_FirstItems()
{
var data = TestObjects;
using var list = new PooledList<long>(data, ClearMode.Auto);
using var list = new PooledList<int>(data, ClearMode.Auto);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = 0; i < dataCount; i++)
{
@@ -29,7 +29,7 @@ namespace Recyclable.Collections.Benchmarks
public void RecyclableList_Remove_FirstItems()
{
var data = TestObjects;
using var list = new RecyclableList<long>(data);
using var list = new RecyclableList<int>(data);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = 0; i < dataCount; i++)
{
@@ -40,7 +40,7 @@ namespace Recyclable.Collections.Benchmarks
public void RecyclableLongList_Remove_FirstItems()
{
var data = TestObjects;
using var list = new RecyclableLongList<long>(data, minBlockSize: BlockSize, initialCapacity: base.TestObjectCount);
using var list = new RecyclableLongList<int>(data, minBlockSize: BlockSize, initialCapacity: base.TestObjectCount);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = 0; i < dataCount; i++)
{
@@ -7,7 +7,7 @@ namespace Recyclable.Collections.Benchmarks
public void List_Remove_LastItems()
{
var data = TestObjects;
var list = new List<long>(data);
var list = new List<int>(data);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = data.Length - 1; i > data.Length - dataCount - 1; i--)
{
@@ -18,7 +18,7 @@ namespace Recyclable.Collections.Benchmarks
public void PooledList_Remove_LastItems()
{
var data = TestObjects;
using var list = new PooledList<long>(data, ClearMode.Auto);
using var list = new PooledList<int>(data, ClearMode.Auto);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = data.Length - 1; i > data.Length - dataCount - 1; i--)
{
@@ -29,7 +29,7 @@ namespace Recyclable.Collections.Benchmarks
public void RecyclableList_Remove_LastItems()
{
var data = TestObjects;
using var list = new RecyclableList<long>(data);
using var list = new RecyclableList<int>(data);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = data.Length - 1; i > data.Length - dataCount - 1; i--)
{
@@ -40,7 +40,7 @@ namespace Recyclable.Collections.Benchmarks
public void RecyclableLongList_Remove_LastItems()
{
var data = TestObjects;
using var list = new RecyclableLongList<long>(data, minBlockSize: BlockSize, initialCapacity:base.TestObjectCount);
using var list = new RecyclableLongList<int>(data, minBlockSize: BlockSize, initialCapacity:base.TestObjectCount);
var dataCount = TestObjectCount / 10 > 0 ? TestObjectCount / 10 : TestObjectCount;
for (var i = data.Length - 1; i > data.Length - dataCount - 1; i--)
{