Added some performance tests

This commit is contained in:
tsommer committed 2020-11-07 12:41:44 +01:00
1 parent 3fefdccdf2
commit c58cb0d00c
2 files changed
+144 -8

No files matched your search

+6 -8
View File
@@ -20,7 +20,7 @@ namespace FastRngTests.Float
[Category(TestCategories.PERFORMANCE)]
public async Task Generate1MUniform()
{
var rng = new MultiThreadedRng();
using var rng = new MultiThreadedRng();
var data = new float[1_000_000];
var stopwatch = new Stopwatch();
Thread.Sleep(TimeSpan.FromSeconds(10)); // Warm-up phase of generator
@@ -30,8 +30,7 @@ namespace FastRngTests.Float
data[n] = await rng.GetUniform();
stopwatch.Stop();
rng.StopProducer();
TestContext.WriteLine($"Generated 1M uniform distributed random numbers in {stopwatch.Elapsed.Minutes} minute(s), {stopwatch.Elapsed.Seconds} second(s), and {stopwatch.Elapsed.Milliseconds} milliseconds.");
}
@@ -39,7 +38,7 @@ namespace FastRngTests.Float
[Category(TestCategories.PERFORMANCE)]
public async Task Generate1MNormal()
{
var rng = new MultiThreadedRng();
using var rng = new MultiThreadedRng();
var dist = new NormalS02M05();
var data = new float[1_000_000];
var stopwatch = new Stopwatch();
@@ -59,8 +58,8 @@ namespace FastRngTests.Float
[Category(TestCategories.PERFORMANCE)]
public async Task Generate1MChiSquare()
{
var rng = new MultiThreadedRng();
var dist = new ChiSquareK4();
using var rng = new MultiThreadedRng();
var dist = new ChiSquareK4(); // TODO: Check the impact, when the rng gets set on ctor
var data = new float[1_000_000];
var stopwatch = new Stopwatch();
Thread.Sleep(TimeSpan.FromSeconds(10)); // Warm-up phase of generator
@@ -70,8 +69,7 @@ namespace FastRngTests.Float
data[n] = await rng.NextNumber(dist);
stopwatch.Stop();
rng.StopProducer();
TestContext.WriteLine($"Generated 1M chi-square distributed random numbers in {stopwatch.Elapsed.Minutes} minute(s), {stopwatch.Elapsed.Seconds} second(s), and {stopwatch.Elapsed.Milliseconds} milliseconds.");
}