Skip to content

Commit dc23b3f

Browse files
committed
Update readme with updated libaries and .NET version
1 parent 484a725 commit dc23b3f

File tree

1 file changed

+26
-14
lines changed

1 file changed

+26
-14
lines changed

README.md

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Network Benchmark .NET
22

3-
*Low Level .NET 5 Networking libraries benchmarked for UDP socket performance*
3+
*Low Level .NET 6 Networking libraries benchmarked for UDP socket performance*
44

55
![Screenshot](./Docs/screenshot.png)
66

7-
[![Releases](https://img.shields.io/github/release/JohannesDeml/NetworkBenchmarkDotNet/all.svg)](../../releases) [![.NET 5.0](https://img.shields.io/badge/.NET-5.0-blueviolet.svg)](https://dotnet.microsoft.com/download/dotnet/5.0)
7+
[![Releases](https://img.shields.io/github/release/JohannesDeml/NetworkBenchmarkDotNet/all.svg)](../../releases) [![.NET 6.0](https://img.shields.io/badge/.NET-6.0-blueviolet.svg)](https://dotnet.microsoft.com/download/dotnet/6.0)
88

99
## Table of Contents
1010

@@ -23,20 +23,20 @@ NBN is a benchmark for low level networking libraries using UDP and can be used
2323

2424
### Supported Libraries
2525

26-
* [ENet-CSharp](https://github.com/nxrighthere/ENet-CSharp) (v 2.4.7)
26+
* [ENet-CSharp](https://github.com/nxrighthere/ENet-CSharp) (v 2.4.8)
2727
* Wrapper for [ENet](https://github.com/lsalzman/enet), building a reliable sequenced protocol on top of UDP
2828
* Max concurrent connections are limited to 4095 due to the protocol
2929
* Packetsize overhead: 10 bytes
3030
* [Unity Client Example](https://github.com/JohannesDeml/ENetUnityMobile)
31-
* [LiteNetLib](https://github.com/RevenantX/LiteNetLib) (v 0.9.5.2)
31+
* [LiteNetLib](https://github.com/RevenantX/LiteNetLib) (v 1.0.1)
3232
* Very feature-rich library
3333
* Packetsize overhead: 1 byte for unreliable, 4 bytes for reliable
3434
* [Unity Client Example](https://github.com/RevenantX/NetGameExample)
35-
* [Kcp2k](https://github.com/vis2k/kcp2k) (v 1.12.0)
35+
* [Kcp2k](https://github.com/vis2k/kcp2k) (v 1.34.0)
3636
* Port of KCP with 100% C# Code, Future Technology for [Mirror-NG](https://github.com/MirrorNG/MirrorNG)
3737
* Packetsize overhead: 24 byte
3838
* [Unity Example](https://github.com/vis2k/kcp2k)
39-
* [NetCoreServer](https://github.com/chronoxor/NetCoreServer) (v 5.1.0)
39+
* [NetCoreServer](https://github.com/chronoxor/NetCoreServer) (v 6.7.0)
4040
* Pure C# / .Net library for TCP/UDP/SSL with no additional protocols on top
4141
* Packetsize overhead: 0 bytes, but you have to invent the wheel yourself
4242
* [Unity Client Example](https://github.com/JohannesDeml/Unity-Net-Core-Networking-Sockets)
@@ -48,17 +48,29 @@ NBN is a benchmark for low level networking libraries using UDP and can be used
4848

4949
* Ubuntu VPS
5050
* Virtual private server with dedicated CPU's running - [Hardware](https://www.netcup.eu/bestellen/produkt.php?produkt=2624)
51-
* Ubuntu 20.04.3 LTS x86-64 Kernel 5.14.0-051400-generic
52-
51+
* Ubuntu 22.04.2 LTS
52+
```
53+
$> hostnamectl
54+
Chassis: vm
55+
Virtualization: kvm
56+
Operating System: Ubuntu 22.04.2 LTS
57+
Kernel: Linux 5.15.0-48-generic
58+
Architecture: x86-64
59+
Hardware Vendor: netcup
60+
Hardware Model: KVM Server
61+
```
62+
63+
64+
5365
* Ubuntu Desktop / Windows Desktop
5466
* Desktop PC from 2020 - [Hardware](https://pcpartpicker.com/user/JohannesDeml/saved/zz7yK8)
55-
* Windows 10 Pro x86-64 Build 19043.1266 (21H1/May2021Update)
56-
* Ubuntu 20.04.3 LTS x86-64 Kernel 5.11.0-37-generic
67+
* xxxxWindows 10 Pro x86-64 Build 19043.1266 (21H1/May2021Update)
68+
* xxxxUbuntu 20.04.3 LTS x86-64 Kernel 5.11.0-37-generic
5769
5870
### Software
5971
60-
* [.NET](https://dotnet.microsoft.com/download/dotnet) 5.0.11 (5.0.1121.47308)
61-
* [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) 0.13.1
72+
* [.NET](https://dotnet.microsoft.com/download/dotnet) 6.0.407 (`dotnet --version`)
73+
* [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) 0.13.5
6274
6375
### Procedure
6476
For the two desktop setups, the benchmarks are run on a restarted system with 5 minutes idle time before starting the benchmark. They are run with admin privileges and all unnecessary other processes are killed before running the benchmarks. For Ubuntu VPS, the benchmarks are run through continuous integration on a typical indie server setup with other processes running as well. After the benchmarks are run, a list of all running processes to make them more reproducible. To reproduce the benchmarks, run `sudo sh linux-benchmark.sh` or `win-benchmark.bat` . If you want to execute directly from the compiled program, run `./NetworkBenchmarkDotNet -b Essential`.
@@ -107,7 +119,7 @@ This is a comparison between all tests with their message throughput (higher is
107119
108120
## Installation
109121
110-
Make sure you have [.Net 5 SDK](https://dotnet.microsoft.com/download) installed.
122+
Make sure you have [.Net 6 SDK](https://dotnet.microsoft.com/download) installed.
111123
112124
Then just open the solution file with Visual Studio/Rider/Visual Studio Code and build it. Note that results of the benchmarks can be very different with a different operating system and hardware.
113125
@@ -187,7 +199,7 @@ Your favorite library is missing, or you feel like the benchmarks are not testin
187199
Your new proposed library ...
188200
189201
* works with Unity as a Client
190-
* works with .NET 5 for the server
202+
* works with .NET 6 for the server
191203
* uses UDP (additional RUDP would be nice)
192204
* is Open Source (can still be commercial)
193205
* is stable enough not to break in the benchmarks

0 commit comments

Comments
 (0)