Skip to content

Commit fb2565c

Browse files
authored
Merge pull request #688 from MDA2AV/reso090
update results
2 parents d44be5a + d24cad7 commit fb2565c

62 files changed

Lines changed: 1922 additions & 309 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

frameworks/actix-websocket/meta.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
"repo": "https://github.com/actix/actix-web",
88
"enabled": true,
99
"tests": [
10-
"echo-ws"
10+
"echo-ws",
11+
"echo-ws-pipeline"
1112
],
1213
"maintainers": []
1314
}

frameworks/aspnet-websocket/meta.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
"repo": "https://github.com/dotnet/aspnetcore",
88
"enabled": true,
99
"tests": [
10-
"echo-ws"
10+
"echo-ws",
11+
"echo-ws-pipeline"
1112
],
1213
"maintainers": []
1314
}

frameworks/bun-websocket/meta.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
"repo": "https://github.com/oven-sh/bun",
88
"enabled": true,
99
"tests": [
10-
"echo-ws"
10+
"echo-ws",
11+
"echo-ws-pipeline"
1112
],
1213
"maintainers": []
1314
}

frameworks/deno-websocket/meta.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
"repo": "https://github.com/denoland/deno",
88
"enabled": true,
99
"tests": [
10-
"echo-ws"
10+
"echo-ws",
11+
"echo-ws-pipeline"
1112
],
1213
"maintainers": []
1314
}

frameworks/dogrider/Dockerfile

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
1+
# Build (managed / JIT — no AOT toolchain needed).
12
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
23
WORKDIR /source
34

45
COPY riderdog.csproj ./
56
RUN dotnet restore
67

78
COPY . .
8-
RUN dotnet publish -c Release --no-self-contained -o /app
9+
RUN dotnet publish -c Release --no-self-contained \
10+
-p:GarbageCollectionAdaptationMode=1 \
11+
-o /app/out
912

13+
# Runtime (glibc, includes the .NET runtime).
14+
# liburing2 is required by the bundled liburingshim.so for io_uring syscalls.
1015
FROM mcr.microsoft.com/dotnet/runtime:10.0
16+
RUN apt-get update && apt-get install -y --no-install-recommends liburing2 \
17+
&& rm -rf /var/lib/apt/lists/*
1118
WORKDIR /app
12-
COPY --from=build /app .
13-
19+
COPY --from=build /app/out ./
1420
EXPOSE 8080
1521
ENTRYPOINT ["dotnet", "riderdog.dll"]

frameworks/dogrider/Program.cs

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ private static async Task Main()
1313
{
1414
Ip = "0.0.0.0",
1515
Port = 8080,
16-
Backlog = 65535,
17-
ReactorCount = 16,
16+
Backlog = 16384,
17+
ReactorCount = 64,
1818
AcceptorConfig = new AcceptorConfig(
1919
RingFlags: 0,
2020
SqCpuThread: -1,
@@ -24,29 +24,21 @@ private static async Task Main()
2424
CqTimeout: 100_000_000,
2525
IPVersion: IPVersion.IPv4Only
2626
),
27-
ReactorConfigs = Enumerable.Range(0, 16).Select(_ => new ReactorConfig(
27+
ReactorConfigs = Enumerable.Range(0, 64).Select(_ => new ReactorConfig(
2828
RingFlags: (1u << 12) | (1u << 13), // SINGLE_ISSUER | DEFER_TASKRUN
2929
SqCpuThread: -1,
3030
SqThreadIdleMs: 100,
31-
RingEntries: 1 * 1024,
31+
RingEntries: 16 * 1024,
3232
RecvBufferSize: 1 * 1024,
3333
BufferRingEntries: 16 * 1024,
3434
BatchCqes: 4096,
35-
MaxConnectionsPerReactor: 1 * 384,
35+
MaxConnectionsPerReactor: 1 * 512,
3636
CqTimeout: 1_000_000,
37-
ConnectionBufferRingEntries: 32,
37+
ConnectionBufferRingEntries: 128,
3838
IncrementalBufferConsumption: false
3939
)).ToArray()
4040
},
4141
handler: new EchoHandlerPipelined());
42-
43-
/*
44-
await using var server = new Dogrider(
45-
ip: "0.0.0.0",
46-
port: 8080,
47-
reactorCount: Math.Max(1, 16),
48-
handler: new EchoHandler());
49-
*/
5042

5143
server.Start();
5244

@@ -67,9 +59,6 @@ private static async Task Main()
6759

6860
internal sealed class EchoHandlerPipelined : Handler
6961
{
70-
71-
private static ReadOnlySpan<byte> _hello => "hello"u8;
72-
7362
public async ValueTask HandleAsync(IConnection connection)
7463
{
7564
while (true)
@@ -94,14 +83,12 @@ public async ValueTask HandleAsync(IConnection connection)
9483
{
9584
case FrameType.Text:
9685

97-
//connection.Write(frame.Data);
98-
connection.Write(_hello);
86+
connection.Write(frame.Payload.FirstSpan);
9987
break;
10088

10189
case FrameType.Binary:
10290

103-
//connection.Write(frame.Data, FrameType.Binary);
104-
connection.Write(_hello, FrameType.Binary);
91+
connection.Write(frame.Payload.FirstSpan);
10592
break;
10693

10794
case FrameType.Ping:

frameworks/dogrider/meta.json

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
{
2-
"display_name": "dogrider",
3-
"language": "C#",
4-
"type": "production",
5-
"engine": "zerg",
6-
"description": "GenHTTP websockets with zerg backend",
7-
"repo": "https://github.com/MDA2AV/dogrider",
8-
"enabled": true,
9-
"tests": [
10-
"echo-ws"
11-
],
12-
"maintainers": [
13-
"MDA2AV"
14-
]
15-
}
1+
{
2+
"display_name": "dogrider",
3+
"language": "C#",
4+
"type": "production",
5+
"engine": "zerg",
6+
"description": "GenHTTP websockets with zerg backend",
7+
"repo": "https://github.com/MDA2AV/dogrider",
8+
"enabled": true,
9+
"tests": [
10+
"echo-ws",
11+
"echo-ws-pipeline"
12+
],
13+
"maintainers": [
14+
"MDA2AV"
15+
]
16+
}

frameworks/dogrider/riderdog.csproj

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,12 @@
1010
<ServerGarbageCollection>true</ServerGarbageCollection>
1111
</PropertyGroup>
1212

13+
<ItemGroup Condition="$(PublishAot) == 'true'">
14+
<RuntimeHostConfigurationOption Include="System.Threading.ThreadPool.HillClimbing.Disable" Value="true" />
15+
</ItemGroup>
16+
1317
<ItemGroup>
14-
<PackageReference Include="dogrider" Version="10.0.2" />
18+
<PackageReference Include="dogrider" Version="10.1.3" />
1519
</ItemGroup>
1620

1721
</Project>

frameworks/fleck/Program.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
using Fleck;
22

3-
namespace riderdog;
3+
namespace fleckws;
44

55
internal static class Program
66
{
77
private static async Task Main()
88
{
9-
var server = new WebSocketServer("ws://0.0.0.0:8080");
9+
var server = new WebSocketServer("ws://0.0.0.0:8080/");
10+
Console.WriteLine("ooga fleck");
1011
server.Start(socket =>
1112
{
1213
socket.OnMessage = message => socket.Send(message);
14+
socket.OnBinary = binary => socket.Send(binary);
1315
});
1416

15-
Console.ReadLine();
17+
await Task.Delay(-1);
1618
}
1719
}

frameworks/fleck/meta.json

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
{
2-
"display_name": "fleck",
3-
"language": "C#",
4-
"type": "production",
5-
"engine": "fleck",
6-
"description": "C# websockets framework",
7-
"repo": "https://github.com/statianzo/Fleck",
8-
"enabled": true,
9-
"tests": [
10-
"echo-ws"
11-
],
12-
"maintainers": [
13-
"MDA2AV"
14-
]
15-
}
1+
{
2+
"display_name": "fleck",
3+
"language": "C#",
4+
"type": "production",
5+
"engine": "fleck",
6+
"description": "C# websockets framework",
7+
"repo": "https://github.com/statianzo/Fleck",
8+
"enabled": true,
9+
"tests": [
10+
"echo-ws",
11+
"echo-ws-pipeline"
12+
],
13+
"maintainers": [
14+
"MDA2AV"
15+
]
16+
}

0 commit comments

Comments
 (0)