Benchmarks of VoltRpc.

All benchmarks were performed with this configuration:

BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1826 (21H2)
Intel Core i5-10600KF CPU 4.10GHz, 1 CPU, 12 logical and 6 physical cores
.NET SDK=6.0.302
  [Host]     : .NET 6.0.7 (6.0.722.32202), X64 RyuJIT
  Job-PJGDAZ : .NET 6.0.7 (6.0.722.32202), X64 RyuJIT

Jit=Default  Platform=AnyCpu  Runtime=.NET 6.0  

Performance may vary depending on the system, as well what .NET version you use.
If you want to test the performance your self, you can build the VoltRpc.Benchmarks project in RELEASE and run it.'


Currently, the in-built arrays are quite a lot slower, we are looking into fixing this in a later release. For using fast arrays, see the demo's CustomTypeArraysReaderWriter.

Pipes Benchmark

Pipes Benchmark Non-Array

Pipes Benchmark Array

BasicVoid??6.311 μs0.0517 μs0.0432 μs
BasicReturn??7.444 μs0.0589 μs0.0551 μs
ArrayReturn??21.389 μs0.3943 μs0.6695 μs
ArrayFast??1,579.432 μs10.1223 μs9.4684 μs
BasicParameterVoidHello World!?7.128 μs0.0390 μs0.0346 μs
BasicParameterReturnHello World!?8.287 μs0.0364 μs0.0304 μs
ArrayParameterVoid?Byte[25]18.423 μs0.3675 μs0.6140 μs
ArrayParameterReturn?Byte[25]28.647 μs0.5643 μs0.9112 μs
ArrayParameterVoid?Byte[8294400]2,705,942.687 μs11,965.3253 μs11,192.3727 μs
ArrayParameterReturn?Byte[8294400]5,416,337.679 μs21,036.1040 μs18,647.9583 μs

TCP Benchmark

TCP Benchmark Non-Array

TCP Benchmark Array

BasicVoid??13.69 μs0.139 μs0.124 μs
BasicReturn??15.88 μs0.157 μs0.146 μs
ArrayReturn??28.70 μs0.126 μs0.111 μs
ArrayFast??3,213.17 μs35.051 μs32.786 μs
BasicParameterVoidHello World!?15.52 μs0.285 μs0.267 μs
BasicParameterReturnHello World!?17.17 μs0.167 μs0.156 μs
ArrayParameterVoid?Byte[25]26.89 μs0.107 μs0.100 μs
ArrayParameterReturn?Byte[25]40.42 μs0.426 μs0.398 μs
ArrayParameterVoid?Byte[8294400]3,689,192.76 μs13,520.734 μs11,985.778 μs
ArrayParameterReturn?Byte[8294400]7,400,713.25 μs11,952.742 μs10,595.794 μs