File tree Expand file tree Collapse file tree 7 files changed +177
-0
lines changed
frameworks/CSharp/wiredio Expand file tree Collapse file tree 7 files changed +177
-0
lines changed Original file line number Diff line number Diff line change
1
+ [Oo ]bj /
2
+ [Bb ]in /
3
+ TestResults /
4
+ .nuget /
5
+ * .sln
6
+ * .sln.ide /
7
+ _ReSharper. * /
8
+ .idea /
9
+ packages /
10
+ artifacts /
11
+ PublishProfiles /
12
+ .vs /
13
+ * .user
14
+ * .suo
15
+ * .cache
16
+ * .docstates
17
+ _ReSharper. *
18
+ nuget.exe
19
+ * net45.csproj
20
+ * net451.csproj
21
+ * k10.csproj
22
+ * .psess
23
+ * .vsp
24
+ * .pidb
25
+ * .userprefs
26
+ * DS_Store
27
+ * .ncrunchsolution
28
+ * . * sdf
29
+ * .ipch
30
+ * .swp
31
+ * ~
32
+ .build /
33
+ .testPublish /
34
+ launchSettings.json
35
+ BenchmarkDotNet.Artifacts /
36
+ BDN.Generated /
37
+ binaries /
38
+ global.json
Original file line number Diff line number Diff line change
1
+ <Project Sdk =" Microsoft.NET.Sdk" >
2
+
3
+ <PropertyGroup >
4
+ <OutputType >Exe</OutputType >
5
+ <TargetFramework >net9.0</TargetFramework >
6
+ <LangVersion >13.0</LangVersion >
7
+ <ImplicitUsings >enable</ImplicitUsings >
8
+ <Nullable >enable</Nullable >
9
+
10
+ <ServerGarbageCollection >true</ServerGarbageCollection >
11
+ <TieredPGO >true</TieredPGO >
12
+
13
+ <!-- Required for self-contained publish -->
14
+ <RuntimeIdentifier >linux-musl-x64</RuntimeIdentifier >
15
+ <SelfContained >true</SelfContained >
16
+
17
+ </PropertyGroup >
18
+
19
+ <ItemGroup >
20
+ <PackageReference Include =" Wired.IO" Version =" 9.2.0" />
21
+ </ItemGroup >
22
+
23
+ </Project >
Original file line number Diff line number Diff line change
1
+ using System . Net ;
2
+ using System . Text . Json ;
3
+ using Wired . IO . App ;
4
+ using Wired . IO . Http11 . Response . Content ;
5
+ using Wired . IO . Protocol . Response ;
6
+ using StringContent = Wired . IO . Http11 . Response . Content . StringContent ;
7
+
8
+ var builder = WiredApp . CreateBuilder ( ) ;
9
+
10
+ await builder
11
+ . Endpoint ( IPAddress . Any , 8080 )
12
+ . MapGet ( "/plaintext" , scope => context =>
13
+ {
14
+ context
15
+ . Respond ( )
16
+ . Status ( ResponseStatus . Ok )
17
+ . Content ( new StringContent ( "Hello, World!" ) )
18
+ . Type ( "text/plain" ) ;
19
+ } )
20
+ . MapGet ( "/json" , scope => context =>
21
+ {
22
+ context
23
+ . Respond ( )
24
+ . Status ( ResponseStatus . Ok )
25
+ . Content ( new JsonContent ( new
26
+ {
27
+ Message = "Hello, World!"
28
+ } , JsonSerializerOptions . Default ) )
29
+ . Type ( "application/json" ) ;
30
+ } )
31
+ . Build ( )
32
+ . RunAsync ( ) ;
Original file line number Diff line number Diff line change
1
+ # Wired.IO Tests on Linux
2
+
3
+ See the [ Wired.IO Documentation] ( https://mda2av.github.io/Wired.IO.Docs/ ) for more information.
4
+
5
+ ## Infrastructure Software Versions
6
+
7
+ ** Language**
8
+
9
+ * C# 13.0
10
+
11
+ ** Platforms**
12
+
13
+ * .NET 8/9
14
+
15
+ ** Web Servers**
16
+
17
+ * [ Wired.IO] ( https://github.com/MDA2AV/Wired.IO )
18
+
19
+ ## Paths & Source for Tests
20
+
21
+ * [ Plaintext] ( Benchmarks/Program.cs ) : "/plaintext"
22
+ * [ JSON] ( Benchmarks/Program.cs ) : "/json"
Original file line number Diff line number Diff line change
1
+ {
2
+ "framework" : " wiredio" ,
3
+ "tests" : [
4
+ {
5
+ "default" : {
6
+ "plaintext_url" : " /plaintext" ,
7
+ "json_url" : " /json" ,
8
+ "port" : 8080 ,
9
+ "approach" : " Realistic" ,
10
+ "classification" : " Fullstack" ,
11
+ "database" : " None" ,
12
+ "framework" : " Wired.IO" ,
13
+ "language" : " C#" ,
14
+ "orm" : " None" ,
15
+ "platform" : " .NET" ,
16
+ "webserver" : " Wired.IO" ,
17
+ "os" : " Linux" ,
18
+ "database_os" : " Linux" ,
19
+ "display_name" : " Wired.IO" ,
20
+ "notes" : " Only plaintext and JSON benchmarks implemented"
21
+ }
22
+ }
23
+ ]
24
+ }
Original file line number Diff line number Diff line change
1
+ [framework ]
2
+ name = " wiredio"
3
+
4
+ [main ]
5
+ urls.plaintext = " /plaintext"
6
+ urls.json = " /json"
7
+ approach = " Realistic"
8
+ classification = " Fullstack"
9
+ os = " Linux"
10
+ database_os = " Linux"
11
+ orm = " None"
12
+ platform = " .NET"
13
+ webserver = " Wired.IO"
14
+ versus = " None"
Original file line number Diff line number Diff line change
1
+ FROM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS build
2
+ WORKDIR /source
3
+
4
+ # copy csproj and restore as distinct layers
5
+ COPY Benchmarks/*.csproj .
6
+ RUN dotnet restore -r linux-musl-x64
7
+
8
+ # copy and publish app and libraries
9
+ COPY Benchmarks/ .
10
+ RUN dotnet publish -c release -o /app -r linux-musl-x64 --no-restore --self-contained
11
+
12
+ # final stage/image
13
+ FROM mcr.microsoft.com/dotnet/runtime-deps:9.0-alpine
14
+
15
+ ENV DOTNET_GCDynamicAdaptationMode=0
16
+ ENV DOTNET_ReadyToRun=0
17
+ ENV DOTNET_HillClimbing_Disable=1
18
+
19
+ WORKDIR /app
20
+ COPY --from=build /app .
21
+
22
+ ENTRYPOINT ["./Benchmarks" ]
23
+
24
+ EXPOSE 8080
You can’t perform that action at this time.
0 commit comments