Benchmarks added & reorganized.

This commit is contained in:
mlemanczyk committed 2023-12-28 19:47:02 +01:00
1 parent ccf5c61dd0
commit a216c028a0
48 files changed
+13483 -363

No files matched your search

@@ -0,0 +1,59 @@
// Ignore Spelling: Poc
using BenchmarkDotNet.Attributes;
namespace Recyclable.Collections.Benchmarks.POC
{
[MemoryDiagnoser]
public class TaskRunVsTaskFactoryStartNewBenchmarks
{
public int NumberOfTasks = 100;
private static readonly TaskFactory _taskPool = new();
[Benchmark]
public void OwnTaskFactory()
{
for (var i = 0; i < NumberOfTasks; i++)
{
_ = _taskPool.StartNew(() => {});
}
}
[Benchmark]
public void TaskRun()
{
for (var i = 0; i < NumberOfTasks; i++)
{
_ = Task.Run(() => { });
}
}
[Benchmark(Baseline = true)]
public void TaskFactoryStartNew()
{
for (var i = 0; i < NumberOfTasks; i++)
{
_ = Task.Factory.StartNew(() => { });
}
}
[Benchmark]
public void TaskConstructor()
{
for (var i = 0; i < NumberOfTasks; i++)
{
new Task(() => { }).Start();
}
}
[Benchmark]
public void TaskConstructorWithKnownScheduler()
{
TaskScheduler scheduler = TaskScheduler.Current;
for (var i = 0; i < NumberOfTasks; i++)
{
new Task(() => { }).Start(scheduler);
}
}
}
}