diff --git a/Benchmarking/Benchmark/Benchmark.csproj b/Benchmarking/Benchmark/Benchmark.csproj index 475449a..051d009 100644 --- a/Benchmarking/Benchmark/Benchmark.csproj +++ b/Benchmarking/Benchmark/Benchmark.csproj @@ -7,7 +7,7 @@ - + diff --git a/Benchmarking/CapnpProfile/CapnpProfile.csproj b/Benchmarking/CapnpProfile/CapnpProfile.csproj index fb4935e..953f368 100644 --- a/Benchmarking/CapnpProfile/CapnpProfile.csproj +++ b/Benchmarking/CapnpProfile/CapnpProfile.csproj @@ -12,7 +12,7 @@ - + diff --git a/Benchmarking/CapnpProfile/Program.cs b/Benchmarking/CapnpProfile/Program.cs index 758884f..274bb97 100644 --- a/Benchmarking/CapnpProfile/Program.cs +++ b/Benchmarking/CapnpProfile/Program.cs @@ -11,8 +11,10 @@ namespace CapnpProfile { static async Task Main(string[] args) { - using var server = new TcpRpcServer(IPAddress.Any, 5002); + using var server = new TcpRpcServer(); server.Main = new CapnpEchoService(); + server.AddBuffering(); + server.StartAccepting(IPAddress.Any, 5002); using var client = new TcpRpcClient("localhost", 5002); await client.WhenConnected; using var echoer = client.GetMain(); diff --git a/Benchmarking/EchoServiceCapnp/EchoServiceCapnp.csproj b/Benchmarking/EchoServiceCapnp/EchoServiceCapnp.csproj index 0b9048a..2ef80ba 100644 --- a/Benchmarking/EchoServiceCapnp/EchoServiceCapnp.csproj +++ b/Benchmarking/EchoServiceCapnp/EchoServiceCapnp.csproj @@ -6,7 +6,7 @@ - + diff --git a/Benchmarking/EchoServiceCapnp/Program.cs b/Benchmarking/EchoServiceCapnp/Program.cs index c6ca4fa..62c408b 100644 --- a/Benchmarking/EchoServiceCapnp/Program.cs +++ b/Benchmarking/EchoServiceCapnp/Program.cs @@ -9,10 +9,11 @@ namespace EchoServiceCapnp { static void Main(string[] args) { - using (var server = new TcpRpcServer(IPAddress.Any, 5002)) + using (var server = new TcpRpcServer()) { server.AddBuffering(); server.Main = new CapnpEchoService(); + server.StartAccepting(IPAddress.Any, 5002); Console.WriteLine("Press RETURN to stop listening"); Console.ReadLine(); } diff --git a/Capnp.Net.Runtime/Util/DuplexBufferedStream.cs b/Capnp.Net.Runtime/Util/DuplexBufferedStream.cs index 11e3f06..2bf3001 100644 --- a/Capnp.Net.Runtime/Util/DuplexBufferedStream.cs +++ b/Capnp.Net.Runtime/Util/DuplexBufferedStream.cs @@ -5,7 +5,9 @@ namespace Capnp.Util { internal class DuplexBufferedStream : Stream { - const int DefaultBufferSize = 4096; + // A buffer size of 1024 bytes seems to be a good comprise, giving good performance + // in TCP/IP-over-localhost scenarios for small to medium (200kiB) frame sizes. + const int DefaultBufferSize = 1024; readonly BufferedStream _readStream; readonly BufferedStream _writeStream;