|
4 | 4 |
|
5 | 5 |  |
6 | 6 |
|
7 | | -[](../../releases) [](https://dotnet.microsoft.com/download/dotnet/5.0) [](https://dotnet.microsoft.com/download/dotnet-core/3.1) |
| 7 | +[](../../releases) [](https://dotnet.microsoft.com/download/dotnet/5.0) |
8 | 8 |
|
9 | 9 | ## Table of Contents |
10 | 10 |
|
@@ -70,67 +70,63 @@ This test collects information about generated garbage while running the benchma |
70 | 70 | ### Ubuntu 20.04 |
71 | 71 |
|
72 | 72 | To reproduce the benchmarks, run `./NetworkBenchmarkDotNet -b Essential`. |
73 | | -[Detailed Benchmark Hardware](https://pcpartpicker.com/b/Wtykcf) |
74 | | - |
| 73 | +[Hardware Details](https://pcpartpicker.com/b/Wtykcf) |
75 | 74 |
|
76 | 75 | ``` ini |
77 | 76 | BenchmarkDotNet=v0.12.1, OS=ubuntu 20.04 |
78 | 77 | Intel Core i5-3570K CPU 3.40GHz (Ivy Bridge), 1 CPU, 4 logical and 4 physical cores |
79 | 78 | .NET Core SDK=5.0.103 |
80 | 79 | [Host] : .NET Core 5.0.3 (CoreCLR 5.0.321.7203, CoreFX 5.0.321.7203), X64 RyuJIT |
81 | | - Job-CAYZXA : .NET Core 5.0.3 (CoreCLR 5.0.321.7203, CoreFX 5.0.321.7203), X64 RyuJIT |
| 80 | + Job-YNISTP : .NET Core 5.0.3 (CoreCLR 5.0.321.7203, CoreFX 5.0.321.7203), X64 RyuJIT |
82 | 81 |
|
83 | 82 | Platform=X64 Runtime=.NET Core 5.0 Concurrent=True |
84 | 83 | Force=True Server=True InvocationCount=1 |
85 | | -IterationCount=20 LaunchCount=1 UnrollFactor=1 |
86 | | -WarmupCount=1 Version=0.8.2 OS=Linux 5.8.0-43-generic #49~20.04.1-Ubuntu SMP Fri Feb 5 09:57:56 UTC 2021 |
87 | | -DateTime=02/17/2021 16:22:28 |
| 84 | +IterationCount=10 LaunchCount=1 UnrollFactor=1 |
| 85 | +WarmupCount=1 Version=0.9.0 OS=Linux 5.8.0-43-generic #49~20.04.1-Ubuntu SMP Fri Feb 5 09:57:56 UTC 2021 |
| 86 | +DateTime=02/18/2021 16:18:27 |
88 | 87 | ``` |
89 | | -| Method | Library | Clients | Throughput | Mean | Error | StdDev | |
90 | | -|------------- |-------------- |--------:|----------------:|------------:|----------:|----------:| |
91 | | -| **Performance1** | **ENet** | **500** | **184,330 msg/s** | **2,712.5 ms** | **13.29 ms** | **14.77 ms** | |
92 | | -| Performance2 | ENet | 500 | 1,127,749 msg/s | 443.4 ms | 1.91 ms | 1.96 ms | |
93 | | -| **Performance1** | **NetCoreServer** | **500** | **110,626 msg/s** | **4,519.7 ms** | **20.66 ms** | **21.21 ms** | |
94 | | -| Performance2 | NetCoreServer | 500 | 95,698 msg/s | 5,224.8 ms | 15.82 ms | 16.93 ms | |
95 | | -| **Performance1** | **LiteNetLib** | **500** | **93,768 msg/s** | **5,332.3 ms** | **22.10 ms** | **24.57 ms** | |
96 | | -| Performance2 | LiteNetLib | 500 | 259,604 msg/s | 1,926.0 ms | 35.52 ms | 40.90 ms | |
97 | | -| **Performance1** | **Kcp2k** | **500** | **24,551 msg/s** | **20,365.5 ms** | **290.54 ms** | **334.59 ms** | |
98 | | -| Performance2 | Kcp2k | 500 | 124,884 msg/s | 4,003.7 ms | 133.17 ms | 153.36 ms | |
99 | | - |
100 | | - |
101 | | - |
| 88 | +| Method | Library | Transmission | Clients | Throughput | Mean | Error | StdDev | |
| 89 | +|-------------------------- |-------------- |------------- |--------:|----------------:|-----------:|---------:|---------:| |
| 90 | +| **PingPongReliable** | **ENet** | **Reliable** | **500** | **90,333 msg/s** | **5.535 s** | **0.0311 s** | **0.0205 s** | |
| 91 | +| PingPongUnreliable | ENet | Unreliable | 500 | 185,112 msg/s | 2,701.1 ms | 21.57 ms | 12.83 ms | |
| 92 | +| PingPongBatchedUnreliable | ENet | Unreliable | 500 | 1,129,598 msg/s | 442.6 ms | 4.83 ms | 2.87 ms | |
| 93 | +| **PingPongUnreliable** | **NetCoreServer** | **Unreliable** | **500** | **96,514 msg/s** | **5,180.6 ms** | **64.21 ms** | **42.47 ms** | |
| 94 | +| PingPongBatchedUnreliable | NetCoreServer | Unreliable | 500 | 97,245 msg/s | 5,141.6 ms | 55.11 ms | 36.45 ms | |
| 95 | +| **PingPongReliable** | **LiteNetLib** | **Reliable** | **500** | **82,804 msg/s** | **6.038 s** | **0.0671 s** | **0.0444 s** | |
| 96 | +| PingPongUnreliable | LiteNetLib | Unreliable | 500 | 91,222 msg/s | 5,481.2 ms | 51.56 ms | 34.11 ms | |
| 97 | +| PingPongBatchedUnreliable | LiteNetLib | Unreliable | 500 | 251,421 msg/s | 1,988.7 ms | 56.09 ms | 33.38 ms | |
| 98 | + |
| 99 | + |
102 | 100 |
|
103 | 101 | ### Windows 10 |
104 | 102 | To reproduce the benchmarks, run `./NetworkBenchmarkDotNet -b Essential`. |
105 | | -[Detailed Benchmark Hardware](https://pcpartpicker.com/b/8MMcCJ) (Note that this machine has a lot more performance than the linux machine) |
106 | | - |
| 103 | +[Hardware Details](https://pcpartpicker.com/b/8MMcCJ) (Note that this machine has a lot more performance than the linux machine) |
107 | 104 |
|
108 | 105 | ``` ini |
109 | 106 | BenchmarkDotNet=v0.12.1, OS=Windows 10.0.19042 |
110 | 107 | AMD Ryzen 7 3700X, 1 CPU, 16 logical and 8 physical cores |
111 | | -.NET Core SDK=5.0.100 |
112 | | - [Host] : .NET Core 5.0.0 (CoreCLR 5.0.20.51904, CoreFX 5.0.20.51904), X64 RyuJIT |
113 | | - Job-KWKBOV : .NET Core 5.0.0 (CoreCLR 5.0.20.51904, CoreFX 5.0.20.51904), X64 RyuJIT |
| 108 | +.NET Core SDK=5.0.103 |
| 109 | + [Host] : .NET Core 5.0.3 (CoreCLR 5.0.321.7212, CoreFX 5.0.321.7212), X64 RyuJIT |
| 110 | + Job-ODIPRB : .NET Core 5.0.3 (CoreCLR 5.0.321.7212, CoreFX 5.0.321.7212), X64 RyuJIT |
114 | 111 |
|
115 | 112 | Platform=X64 Runtime=.NET Core 5.0 Concurrent=True |
116 | 113 | Force=True Server=True InvocationCount=1 |
117 | | -IterationCount=20 LaunchCount=1 UnrollFactor=1 |
118 | | -WarmupCount=1 Version=0.8.2 OS=Microsoft Windows 10.0.19042 |
119 | | -DateTime=02/17/2021 16:23:23 |
| 114 | +IterationCount=10 LaunchCount=1 UnrollFactor=1 |
| 115 | +WarmupCount=1 Version=0.9.0 OS=Microsoft Windows 10.0.19042 |
| 116 | +DateTime=02/18/2021 16:18:02 |
120 | 117 | ``` |
121 | | -| Method | Library | Clients | Throughput | Mean | Error | StdDev | |
122 | | -|------------- |-------------- |--------:|--------------:|------------:|----------:|----------:| |
123 | | -| **Performance1** | **ENet** | **500** | **103,408 msg/s** | **4,835.2 ms** | **273.39 ms** | **314.84 ms** | |
124 | | -| Performance2 | ENet | 500 | 713,546 msg/s | 700.7 ms | 40.59 ms | 46.75 ms | |
125 | | -| **Performance1** | **NetCoreServer** | **500** | **72,938 msg/s** | **6,855.1 ms** | **36.20 ms** | **40.24 ms** | |
126 | | -| Performance2 | NetCoreServer | 500 | 70,188 msg/s | 7,123.8 ms | 11.23 ms | 12.02 ms | |
127 | | -| **Performance1** | **LiteNetLib** | **500** | **101,078 msg/s** | **4,946.7 ms** | **27.74 ms** | **28.48 ms** | |
128 | | -| Performance2 | LiteNetLib | 500 | 874,633 msg/s | 571.7 ms | 8.18 ms | 9.42 ms | |
129 | | -| **Performance1** | **Kcp2k** | **500** | **15,536 msg/s** | **32,183.3 ms** | **484.33 ms** | **538.33 ms** | |
130 | | -| Performance2 | Kcp2k | 500 | 67,639 msg/s | 7,392.2 ms | 231.14 ms | 266.18 ms | |
131 | | - |
132 | | - |
133 | | - |
| 118 | +| Method | Library | Transmission | Clients | Throughput | Mean | Error | StdDev | |
| 119 | +|-------------------------- |-------------- |------------- |--------:|--------------:|-----------:|------------:|----------:| |
| 120 | +| **PingPongReliable** | **ENet** | **Reliable** | **500** | **51,718 msg/s** | **9.668 s** | **0.1468 s** | **0.0768 s** | |
| 121 | +| PingPongUnreliable | ENet | Unreliable | 500 | 93,960 msg/s | 5,321.4 ms | 1,040.97 ms | 688.54 ms | |
| 122 | +| PingPongBatchedUnreliable | ENet | Unreliable | 500 | 687,775 msg/s | 727.0 ms | 84.13 ms | 55.65 ms | |
| 123 | +| **PingPongUnreliable** | **NetCoreServer** | **Unreliable** | **500** | **72,975 msg/s** | **6,851.6 ms** | **41.01 ms** | **27.12 ms** | |
| 124 | +| PingPongBatchedUnreliable | NetCoreServer | Unreliable | 500 | 78,644 msg/s | 6,357.8 ms | 42.78 ms | 25.46 ms | |
| 125 | +| **PingPongReliable** | **LiteNetLib** | **Reliable** | **500** | **88,463 msg/s** | **5.652 s** | **0.0231 s** | **0.0138 s** | |
| 126 | +| PingPongUnreliable | LiteNetLib | Unreliable | 500 | 90,985 msg/s | 5,495.4 ms | 30.93 ms | 20.46 ms | |
| 127 | +| PingPongBatchedUnreliable | LiteNetLib | Unreliable | 500 | 771,852 msg/s | 647.8 ms | 13.48 ms | 8.92 ms | |
| 128 | + |
| 129 | + |
134 | 130 |
|
135 | 131 | ### Notes |
136 | 132 |
|
|
0 commit comments