commit 432aae78bd371b79f84d51722dd25070d6130290
parent da345df286b253f6fb2e8b369c210c1e979f542a
Author: Mikolaj Lenczewski <mikolaj.lenczewski308@gmail.com>
Date: Thu, 18 Jun 2020 13:30:27 +0100
Finished DatagramNetworkReader benchmark
Diffstat:
2 files changed, 8 insertions(+), 20 deletions(-)
diff --git a/NetSharp/NetSharp.Benchmarks/Benchmarks/Datagram Network Connection Benchmarks/DatagramNetworkReaderBenchmark.cs b/NetSharp/NetSharp.Benchmarks/Benchmarks/Datagram Network Connection Benchmarks/DatagramNetworkReaderBenchmark.cs
@@ -15,16 +15,15 @@ namespace NetSharp.Benchmarks.Benchmarks.Datagram_Network_Connection_Benchmarks
{
public class DatagramNetworkReaderBenchmark : INetSharpBenchmark
{
- private const int ClientCount = 12;
- private const int MaxPacketCount = 1_000_000, MinPacketCount = 100_000, PacketCountInterval = 100_000;
- private const int MaxPacketSize = 65535 / 2, MinPacketSize = 8192;
private static readonly EndPoint ServerDefaultListenEndpoint = new IPEndPoint(IPAddress.Any, 0);
private static readonly ManualResetEventSlim ServerReadyEvent = new ManualResetEventSlim(false);
private Task[] _clientTasks;
private Socket _serverSocket;
private double[] ClientMegabyteBandwidths;
- public ushort BenchmarkClientCount { get; set; } = ClientCount;
+ public static IEnumerable<int> PacketCountParamsSource { get; } = Program.Constants.PacketCountParamsSource;
+ public static IEnumerable<int> PacketSizeParamsSource { get; } = Program.Constants.PacketSizeParamsSource;
+ public ushort BenchmarkClientCount { get; set; } = Program.Constants.ClientCount;
[ParamsSource(nameof(PacketCountParamsSource))]
public int BenchmarkPacketCount { get; set; }
@@ -80,22 +79,6 @@ namespace NetSharp.Benchmarks.Benchmarks.Datagram_Network_Connection_Benchmarks
return Task.CompletedTask;
}
- public static IEnumerable<int> PacketCountParamsSource()
- {
- for (int i = MinPacketCount; i <= MaxPacketCount; i += PacketCountInterval)
- {
- yield return i;
- }
- }
-
- public static IEnumerable<int> PacketSizeParamsSource()
- {
- for (int i = MinPacketSize; i < MaxPacketSize; i *= 2)
- {
- yield return i;
- }
- }
-
[Benchmark(Description = "Measures performance of a Datagram Network Reader with multiple clients")]
public void MultipleClientPerformance()
{
diff --git a/NetSharp/NetSharp.Benchmarks/Program.cs b/NetSharp/NetSharp.Benchmarks/Program.cs
@@ -107,9 +107,14 @@ namespace NetSharp.Benchmarks
{
private const int DefaultExamplePort = 44231;
private static readonly IPAddress DefaultExampleAddress = IPAddress.Loopback;
+
+ public const int ClientCount = 12;
public static readonly EndPoint ClientEndPoint = new IPEndPoint(DefaultExampleAddress, 0);
public static readonly Encoding ServerEncoding = Encoding.UTF8;
public static readonly EndPoint ServerEndPoint = new IPEndPoint(DefaultExampleAddress, DefaultExamplePort);
+
+ public static IEnumerable<int> PacketCountParamsSource { get; } = new int[] { 10_000, 100_000, 1_000_000 };
+ public static IEnumerable<int> PacketSizeParamsSource { get; } = new int[] { 4096, 8192, 16384, 32768 };
}
}
}
\ No newline at end of file