cuteant - SpanNetty.Buffers 1.0.0-beta-210610
Buffer management:the port of the Netty.Buffers assembly to support .NET 4.5.1 and newer.
PM> Install-Package SpanNetty.Buffers -Version 1.0.0-beta-210610 -Source https://www.myget.org/F/cuteant/api/v3/index.json
> nuget.exe install SpanNetty.Buffers -Version 1.0.0-beta-210610 -Source https://www.myget.org/F/cuteant/api/v3/index.json
> dotnet add package SpanNetty.Buffers --version 1.0.0-beta-210610 --source https://www.myget.org/F/cuteant/api/v3/index.json
source https://www.myget.org/F/cuteant/api/v3/index.json
nuget SpanNetty.Buffers ~> 1.0.0-beta-210610
Copy to clipboard
> choco install SpanNetty.Buffers --version 1.0.0-beta-210610 --source https://www.myget.org/F/cuteant/api/v2
Import-Module PowerShellGet
Register-PSRepository -Name "cuteant" -SourceLocation "https://www.myget.org/F/cuteant/api/v2"
Install-Module -Name "SpanNetty.Buffers" -RequiredVersion "1.0.0-beta-210610" -Repository "cuteant" -AllowPreRelease
Copy to clipboard
SpanNetty
This is a fork of DotNetty.
Build Status
Features
- Align with Netty-4.1.51.Final
- ArrayPooledByteBuffer
- Support Span<byte> and Memory<byte> in Buffer/Common APIs
- Add support for IBufferWriter<byte> to the IByteBuffer
- ByteBufferReader and ByteBufferWriter
- HTTP 2 codec
Use
Performance
OS=Windows 10.0.17134.1667
Intel Xeon CPU E3-1230 V2 3.30GHz, 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=3.1.401
Here are some performance numbers from Akka.RemotePingPong(With SpanNetty) benchmark, which uses high volumes of small messages.
These numbers were all produced on a 4 core Intel i5 3.30hz PC over a single Akka.Remote connection running .NET Core 3.1 on Windows 10:
~ With Message Batching (Socket)
Num clients (actors) | Total [msg] | Msgs/sec | Total [ms] |
---|---|---|---|
1 | 200000 | 74075 | 2700.29 |
5 | 1000000 | 167281 | 5978.33 |
10 | 2000000 | 196406 | 10183.36 |
15 | 3000000 | 209805 | 14299.36 |
20 | 4000000 | 210096 | 19039.21 |
25 | 5000000 | 210678 | 23733.14 |
30 | 6000000 | 203985 | 29414.13 |
Average performance: 181,760 msg/s.
~ With Message Batching (Libuv)
Num clients (actors) | Total [msg] | Msgs/sec | Total [ms] |
---|---|---|---|
1 | 200000 | 76570 | 2612.17 |
5 | 1000000 | 159516 | 6269.25 |
10 | 2000000 | 187161 | 10686.69 |
15 | 3000000 | 198073 | 15146.09 |
20 | 4000000 | 190124 | 21039.95 |
25 | 5000000 | 184027 | 27170.75 |
30 | 6000000 | 173752 | 34532.69 |
Average performance: 167,031 msg/s.
~ With I/O Batching (Socket)
Num clients (actors) | Total [msg] | Msgs/sec | Total [ms] |
---|---|---|---|
1 | 200000 | 64893 | 3082.78 |
5 | 1000000 | 145181 | 6888.77 |
10 | 2000000 | 162761 | 12288.34 |
15 | 3000000 | 160231 | 18723.05 |
20 | 4000000 | 148242 | 26983.94 |
25 | 5000000 | 132269 | 37802.50 |
30 | 6000000 | 123597 | 48545.25 |
Average performance: 133,882 msg/s.
~ With I/O Batching (Libuv)
Num clients (actors) | Total [msg] | Msgs/sec | Total [ms] |
---|---|---|---|
1 | 200000 | 63634 | 3143.60 |
5 | 1000000 | 133298 | 7502.06 |
10 | 2000000 | 149288 | 13397.27 |
15 | 3000000 | 146865 | 20427.17 |
20 | 4000000 | 132101 | 30280.71 |
25 | 5000000 | 115415 | 43322.88 |
30 | 6000000 | 111620 | 53754.96 |
Average performance: 121,745 msg/s.
~ No I/O Batching (Socket)
Num clients (actors) | Total [msg] | Msgs/sec | Total [ms] |
---|---|---|---|
1 | 200000 | 31348 | 6380.59 |
5 | 1000000 | 53698 | 18623.22 |
10 | 2000000 | 62066 | 32224.90 |
15 | 3000000 | 60902 | 49260.73 |
20 | 4000000 | 56694 | 70555.15 |
25 | 5000000 | 15152 | 330000.86 |
Average performance: 46,643 msg/s.
~ No I/O Batching (Libuv)
Num clients (actors) | Total [msg] | Msgs/sec | Total [ms] |
---|---|---|---|
1 | 200000 | 71995 | 2778.50 |
5 | 1000000 | 131441 | 7608.04 |
10 | 2000000 | 144041 | 13885.52 |
15 | 3000000 | 134433 | 22316.79 |
20 | 4000000 | 126575 | 31602.55 |
25 | 5000000 | 120759 | 41405.54 |
30 | 6000000 | 119919 | 50034.57 |
Average performance: 121,309 msg/s.
~ ORIGINAL README ~
DotNetty Project
DotNetty is a port of Netty, asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
Use
Contribute
We gladly accept community contributions.
- Issues: Please report bugs using the Issues section of GitHub
- Source Code Contributions:
- Please follow the Contribution Guidelines for Microsoft Azure open source that details information on onboarding as a contributor
- See C# Coding Style for reference on coding style.
-
.NETFramework 4.5.1
- SpanNetty.Common (>= 1.0.0-beta-210610)
-
.NETFramework 4.7.1
- SpanNetty.Common (>= 1.0.0-beta-210610)
-
.NETCoreApp 2.1
- SpanNetty.Common (>= 1.0.0-beta-210610)
-
.NETStandard 2.0
- SpanNetty.Common (>= 1.0.0-beta-210610)
-
.NETStandard 2.1
- SpanNetty.Common (>= 1.0.0-beta-210610)
- .NETCoreApp 2.1: 2.1.0.0
- .NETFramework 4.5.1: 4.5.1.0
- .NETFramework 4.7.1: 4.7.1.0
- .NETStandard 2.0: 2.0.0.0
- .NETStandard 2.1: 2.1.0.0
OwnersSeabiscuit |
AuthorsSeabiscuit |
Project URLhttps://github.com/cuteant/SpanNetty |
LicenseUnknown |
Tagssocket tcp protocol netty dotnetty network |
Info31 total downloads |
7 downloads for version 1.0.0-beta-210610 |
Download (589.47 KB) |
Found on the current feed only |
Package history
Version | Size | Last updated | Downloads | Mirrored? | |||
---|---|---|---|---|---|---|---|
1.0.0-beta-210716 | 709.15 KB | Thu, 15 Jul 2021 17:23:53 GMT | 12 | ||||
1.0.0-beta-210626 | 709.13 KB | Sat, 26 Jun 2021 13:55:04 GMT | 12 | ||||
1.0.0-beta-210610 | 589.47 KB | Thu, 10 Jun 2021 06:39:09 GMT | 7 |