RecyclableArrayList[int index] set performance improvement. Add marked for aggresive inlining.

This commit is contained in:
mlemanczyk committed 2023-01-15 17:49:18 +01:00
1 parent 63773415e7
commit bf2d966f28
5 files changed
+8 -6

No files matched your search

+2 -2
View File
@@ -3,8 +3,8 @@ using Recyclable.Collections.Benchmarks;
//BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(new[] { "-f*" });
//BenchmarkRunner.Run<RecyclableCollectionsBenchmarks>();
BenchmarkRunner.Run<RefVsInstanceMemberBenchmarks>();
BenchmarkRunner.Run<RecyclableCollectionsBenchmarks>();
//BenchmarkRunner.Run<RefVsInstanceMemberBenchmarks>();
//var benchmark = new RecyclableCollectionsBenchmarks();
//benchmark.RecyclableArrayList_AddRange_WithCapacity();
@@ -7,7 +7,7 @@ namespace Recyclable.Collections.Benchmarks
{
private readonly object[] _testArray;
[Benchmark(Baseline = false)]
//[Benchmark(Baseline = false)]
public void Array_Create_WithCapacity()
{
var data = new object[TestObjectCount];
@@ -12,12 +12,15 @@ namespace Recyclable.Collections.Benchmarks
_testRecyclableList = new(TestObjects, TestObjectCount);
_testArray = TestObjects.ToArray();
_testList = new(TestObjects);
_ = TestObjectsAsList;
_ = TestObjectsAsRecyclableArrayList;
}
~RecyclableCollectionsBenchmarks()
{
_testRecyclableArrayList?.Dispose();
_testRecyclableList?.Dispose();
TestObjectsAsRecyclableArrayList?.Dispose();
}
//[Benchmark]
@@ -123,8 +126,6 @@ namespace Recyclable.Collections.Benchmarks
{
data[i] = TestObjects[i];
}
data.Count = dataCount;
}
[Benchmark]
@@ -127,7 +127,7 @@ namespace Recyclable.Collections
public T this[int index]
{
get => _memory[index];
set => _memory[index] = value;
set => new Span<T>(_memory)[index] = value;
}
protected int _capacity;
@@ -153,6 +153,7 @@ namespace Recyclable.Collections
public bool IsReadOnly { get; } = false;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Add(T item)
{
int requestedCapacity = _count + 1;
Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB