NetSharp

NetSharp.git
git clone git://git.lenczewski.org/NetSharp.git
Log | Files | Refs | README | LICENSE

commit 432aae78bd371b79f84d51722dd25070d6130290
parent da345df286b253f6fb2e8b369c210c1e979f542a
Author: Mikolaj Lenczewski <mikolaj.lenczewski308@gmail.com>
Date:   Thu, 18 Jun 2020 13:30:27 +0100

Finished DatagramNetworkReader benchmark

Diffstat:
MNetSharp/NetSharp.Benchmarks/Benchmarks/Datagram Network Connection Benchmarks/DatagramNetworkReaderBenchmark.cs | 23+++--------------------
MNetSharp/NetSharp.Benchmarks/Program.cs | 5+++++
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