From 625f00aecae59d23b7cd617d3ff13efeadcf456b Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sun, 27 Jul 2025 19:30:46 +0800
Subject: [PATCH 01/50] add new test : CSharp/akazawayun.pro
---
frameworks/CSharp/akazawayun.pro/README.md | 1 +
.../akazawayun.pro/akazawayun.pro.dockerfile | 13 +++++++
.../akazawayun.pro/benchmark_config.json | 24 +++++++++++++
.../src/AkazawaYun.FrameworkBenchmarks.csproj | 19 ++++++++++
.../CSharp/akazawayun.pro/src/Program.cs | 36 +++++++++++++++++++
5 files changed, 93 insertions(+)
create mode 100644 frameworks/CSharp/akazawayun.pro/README.md
create mode 100644 frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
create mode 100644 frameworks/CSharp/akazawayun.pro/benchmark_config.json
create mode 100644 frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
create mode 100644 frameworks/CSharp/akazawayun.pro/src/Program.cs
diff --git a/frameworks/CSharp/akazawayun.pro/README.md b/frameworks/CSharp/akazawayun.pro/README.md
new file mode 100644
index 00000000000..0388851ec6a
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/README.md
@@ -0,0 +1 @@
+AkazawaYun.PRO(https://akazawayun.cn/#akzLearning#%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8)
diff --git a/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile b/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
new file mode 100644
index 00000000000..f2549e6f8da
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
@@ -0,0 +1,13 @@
+# 此阶段用于生成项目
+FROM mcr.microsoft.com/dotnet/sdk:9.0 AS publish
+WORKDIR /app
+COPY src .
+RUN dotnet publish -c Release -o /app/publish
+
+# 此阶段用于运行
+FROM mcr.microsoft.com/dotnet/sdk:9.0 AS runtime
+WORKDIR /app
+COPY --from=publish /app/publish .
+
+EXPOSE 2022
+ENTRYPOINT ["dotnet", "AkazawaYun.FrameworkBenchmarks.dll"]
\ No newline at end of file
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
new file mode 100644
index 00000000000..5bf15d28908
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -0,0 +1,24 @@
+{
+ "framework": "akazawayun.pro",
+ "tests": [
+ {
+ "default": {
+ "plaintext_url": "/plaintext",
+ "json_url": "/json",
+ "port": 2022,
+ "approach": "Realistic",
+ "classification": "Platform",
+ "framework": "akazawayun.pro",
+ "webserver": "akazawayun.pro",
+ "platform": ".NET",
+ "language": "C#",
+ "flavor": "CoreCLR",
+ "os": "Linux",
+ "database_os": "Linux",
+ "orm": "Dapper",
+ "display_name": "akazawayun.pro",
+ "notes": ""
+ }
+ }
+ ]
+}
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
new file mode 100644
index 00000000000..1b1e1e64a69
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
@@ -0,0 +1,19 @@
+
+
+
+ Exe
+ net9.0
+ enable
+ enable
+
+
+
+ true
+ true
+
+
+
+
+
+
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
new file mode 100644
index 00000000000..b4abc8a6a09
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -0,0 +1,36 @@
+using AkazawaYun.PRO7;
+using System.Text.Json.Serialization;
+
+namespace AkazawaYun.FrameworkBenchmarks;
+
+public class Program : IPostFunction
+{
+ static async Task Main()
+ {
+ akzJson.Config(null, Json.Default);
+ var server = await akzWebBuilder.Shared.Load().SetDefault().Build().Launch();
+ akzLog.Default = akzLog.Output.None;
+ await Task.Delay(-1);
+ }
+
+
+ public static async ValueTask plaintext(HttpReq _)
+ {
+ return "Hello, World!";
+ }
+ public static async ValueTask json(HttpReq _)
+ {
+ return HttpRes.HttpJson(new JsonResponse
+ {
+ Message = "Hello, World!"
+ });
+ }
+}
+
+public class JsonResponse
+{
+ public string? Message { get; set; }
+}
+
+[JsonSerializable(typeof(JsonResponse))]
+public partial class Json : JsonSerializerContext { }
From 034a4fb73554a77c406f323551deec7db3fc99a1 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Tue, 29 Jul 2025 04:55:09 +0800
Subject: [PATCH 02/50] modify config and code
---
.../CSharp/akazawayun.pro/benchmark_config.json | 11 ++++++-----
frameworks/CSharp/akazawayun.pro/src/Program.cs | 13 +++++++++----
2 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index 5bf15d28908..db3132c145c 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -3,20 +3,21 @@
"tests": [
{
"default": {
+ "display_name": "akazawayun.pro",
+ "framework": "akazawayun.pro",
+ "webserver": "akazawayun.pro",
"plaintext_url": "/plaintext",
"json_url": "/json",
"port": 2022,
+ "classification": "Micro",
"approach": "Realistic",
- "classification": "Platform",
- "framework": "akazawayun.pro",
- "webserver": "akazawayun.pro",
"platform": ".NET",
"language": "C#",
"flavor": "CoreCLR",
"os": "Linux",
"database_os": "Linux",
- "orm": "Dapper",
- "display_name": "akazawayun.pro",
+ "database": "MySQL",
+ "orm": "Micro",
"notes": ""
}
}
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index b4abc8a6a09..0b4b4634c24 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -1,4 +1,5 @@
using AkazawaYun.PRO7;
+using AkazawaYun.PRO7.AkazawaYunWebInterceptor;
using System.Text.Json.Serialization;
namespace AkazawaYun.FrameworkBenchmarks;
@@ -8,17 +9,21 @@ public class Program : IPostFunction
static async Task Main()
{
akzJson.Config(null, Json.Default);
- var server = await akzWebBuilder.Shared.Load().SetDefault().Build().Launch();
+ var server = await akzWebBuilder.Shared.Load().SetDefault().Build()
+ .Config(itc =>
+ {
+ itc.AddInterceptor(new akzWebInterceptorNotOnlyPost());
+ }).Launch();
akzLog.Default = akzLog.Output.None;
await Task.Delay(-1);
}
- public static async ValueTask plaintext(HttpReq _)
+ public static ValueTask plaintext(HttpReq _)
{
- return "Hello, World!";
+ return HttpRes.HttpOK("Hello, World!");
}
- public static async ValueTask json(HttpReq _)
+ public static ValueTask json(HttpReq _)
{
return HttpRes.HttpJson(new JsonResponse
{
From b81fdb51a7678cb3c45b4fdce07d23ca53cc8ec9 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Tue, 29 Jul 2025 05:05:22 +0800
Subject: [PATCH 03/50] add content-type
---
frameworks/CSharp/akazawayun.pro/src/Program.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index 0b4b4634c24..6a1fa57d2cc 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -21,7 +21,7 @@ static async Task Main()
public static ValueTask plaintext(HttpReq _)
{
- return HttpRes.HttpOK("Hello, World!");
+ return HttpRes.HttpOK("Hello, World!", ".txt");
}
public static ValueTask json(HttpReq _)
{
From b9c5d85fd69d841d2c6ac8abd16df2e4a42ec3d1 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Tue, 29 Jul 2025 05:17:01 +0800
Subject: [PATCH 04/50] update url
---
frameworks/CSharp/akazawayun.pro/benchmark_config.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index db3132c145c..74968041e6b 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -6,8 +6,8 @@
"display_name": "akazawayun.pro",
"framework": "akazawayun.pro",
"webserver": "akazawayun.pro",
- "plaintext_url": "/plaintext",
- "json_url": "/json",
+ "plaintext_url": "/post/plaintext",
+ "json_url": "/post/json",
"port": 2022,
"classification": "Micro",
"approach": "Realistic",
From e74efcd150920d3eccfd90c7a6b80c07c59801a4 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Tue, 29 Jul 2025 05:29:05 +0800
Subject: [PATCH 05/50] update package version
---
.../akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj | 2 +-
frameworks/CSharp/akazawayun.pro/src/Program.cs | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
index 1b1e1e64a69..caf04a7827b 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index 6a1fa57d2cc..808424483f4 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -27,14 +27,14 @@ public static ValueTask json(HttpReq _)
{
return HttpRes.HttpJson(new JsonResponse
{
- Message = "Hello, World!"
+ message = "Hello, World!"
});
}
}
public class JsonResponse
{
- public string? Message { get; set; }
+ public string? message { get; set; }
}
[JsonSerializable(typeof(JsonResponse))]
From c34f85685cd2347f731375331859b8948acd3c91 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Wed, 13 Aug 2025 02:56:19 +0800
Subject: [PATCH 06/50] =?UTF-8?q?add=203=20new=20tests:=20db=E3=80=81queri?=
=?UTF-8?q?es=E3=80=81updates?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
1. add 3 new tests: db、queries、updates;
2. split code to multi files;
---
.../akazawayun.pro/akazawayun.pro.dockerfile | 5 +-
.../akazawayun.pro/benchmark_config.json | 49 ++++++-----
.../src/AkazawaYun.FrameworkBenchmarks.csproj | 6 +-
frameworks/CSharp/akazawayun.pro/src/Model.cs | 20 +++++
frameworks/CSharp/akazawayun.pro/src/Mysql.cs | 10 +++
.../CSharp/akazawayun.pro/src/Program.cs | 83 ++++++++++++++-----
.../CSharp/akazawayun.pro/src/WorldService.cs | 33 ++++++++
7 files changed, 159 insertions(+), 47 deletions(-)
create mode 100644 frameworks/CSharp/akazawayun.pro/src/Model.cs
create mode 100644 frameworks/CSharp/akazawayun.pro/src/Mysql.cs
create mode 100644 frameworks/CSharp/akazawayun.pro/src/WorldService.cs
diff --git a/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile b/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
index f2549e6f8da..517de01369b 100644
--- a/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
+++ b/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
@@ -1,13 +1,12 @@
-# 此阶段用于生成项目
+# 生成
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS publish
WORKDIR /app
COPY src .
RUN dotnet publish -c Release -o /app/publish
-# 此阶段用于运行
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS runtime
WORKDIR /app
COPY --from=publish /app/publish .
EXPOSE 2022
-ENTRYPOINT ["dotnet", "AkazawaYun.FrameworkBenchmarks.dll"]
\ No newline at end of file
+ENTRYPOINT ["dotnet", "AkazawaYun.FrameworkBenchmarks.dll"]
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index 74968041e6b..d03b12ca608 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -1,25 +1,28 @@
{
- "framework": "akazawayun.pro",
- "tests": [
- {
- "default": {
- "display_name": "akazawayun.pro",
- "framework": "akazawayun.pro",
- "webserver": "akazawayun.pro",
- "plaintext_url": "/post/plaintext",
- "json_url": "/post/json",
- "port": 2022,
- "classification": "Micro",
- "approach": "Realistic",
- "platform": ".NET",
- "language": "C#",
- "flavor": "CoreCLR",
- "os": "Linux",
- "database_os": "Linux",
- "database": "MySQL",
- "orm": "Micro",
- "notes": ""
- }
- }
- ]
+ "framework": "akazawayun.pro",
+ "tests": [
+ {
+ "default": {
+ "display_name": "akazawayun.pro",
+ "framework": "akazawayun.pro",
+ "webserver": "akazawayun.pro",
+ "plaintext_url": "/post/plaintext",
+ "json_url": "/post/json",
+ "db_url": "/post/db",
+ "query_url": "/post/queries?queries=",
+ "update_url": "/post/updates?queries=",
+ "port": 2022,
+ "classification": "Micro",
+ "approach": "Realistic",
+ "platform": ".NET",
+ "language": "C#",
+ "flavor": "CoreCLR",
+ "os": "Linux",
+ "database_os": "Linux",
+ "database": "MySQL",
+ "orm": "Micro",
+ "notes": ""
+ }
+ }
+ ]
}
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
index caf04a7827b..65752ace3ae 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
@@ -5,15 +5,17 @@
net9.0
enable
enable
+ true
-
+
true
true
-
+
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/Model.cs b/frameworks/CSharp/akazawayun.pro/src/Model.cs
new file mode 100644
index 00000000000..3fdc588ef5c
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/src/Model.cs
@@ -0,0 +1,20 @@
+using AkazawaYun.AOT;
+using System.Text.Json.Serialization;
+
+namespace AkazawaYun.FrameworkBenchmarks;
+
+
+[JsonSerializable(typeof(JsonResponse))]
+[JsonSerializable(typeof(World))]
+public partial class Json : JsonSerializerContext { }
+
+
+public class JsonResponse
+{
+ public string? message { get; set; }
+}
+public class World : IAotModel
+{
+ public int id { get; set; }
+ public int randomNumber { get; set; }
+}
diff --git a/frameworks/CSharp/akazawayun.pro/src/Mysql.cs b/frameworks/CSharp/akazawayun.pro/src/Mysql.cs
new file mode 100644
index 00000000000..ca86a8e4622
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/src/Mysql.cs
@@ -0,0 +1,10 @@
+using AkazawaYun.PRO7;
+using MySql.Data.MySqlClient;
+using System.Data.Common;
+
+namespace AkazawaYun.FrameworkBenchmarks;
+
+internal class Mysql : akzDbFactory
+{
+ protected override DbConnection NewConnection() => new MySqlConnection(ConString);
+}
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index 808424483f4..1a1ae87a7e4 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -1,41 +1,86 @@
-using AkazawaYun.PRO7;
+using AkazawaYun.AOT;
+using AkazawaYun.PRO7;
+using AkazawaYun.PRO7.AkazawaYunWebFunctionAOP;
using AkazawaYun.PRO7.AkazawaYunWebInterceptor;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.Intrinsics.Arm;
using System.Text.Json.Serialization;
+using System.Threading.Tasks;
namespace AkazawaYun.FrameworkBenchmarks;
-public class Program : IPostFunction
+internal class Program : IPostFunctionWrapper
{
- static async Task Main()
+ static readonly akzWebBuilder builder;
+ static readonly akzDbFactory mysql;
+
+
+ static Program()
{
akzJson.Config(null, Json.Default);
- var server = await akzWebBuilder.Shared.Load().SetDefault().Build()
+ builder = akzWebBuilder.Shared.SetDefault()
+ .Build()
.Config(itc =>
{
itc.AddInterceptor(new akzWebInterceptorNotOnlyPost());
- }).Launch();
+ });
+ mysql = new akzDbBuilderII()
+ .SetServer("tfb-database")
+ .SetDatabase("hello_world")
+ .SetUser("benchmarkdbuser")
+ .SetPwd("benchmarkdbpass")
+ .SetOtherset("Maximum Pool Size=1024;SslMode=None;ConnectionReset=false;ConnectionIdlePingTime=900;ConnectionIdleTimeout=0;AutoEnlist=false;DefaultCommandTimeout=0;ConnectionTimeout=0;IgnorePrepare=false;")
+ .Build();
+ }
+ static async Task Main()
+ {
+ await builder.Launch();
akzLog.Default = akzLog.Output.None;
await Task.Delay(-1);
}
- public static ValueTask plaintext(HttpReq _)
+
+ public static HttpRes plaintext() => HttpRes.HttpOK("Hello, World!", ".txt");
+ public static JsonResponse json() => new()
+ {
+ message = "Hello, World!"
+ };
+ [WebFunctionAopTry]
+ public static async Task db()
{
- return HttpRes.HttpOK("Hello, World!", ".txt");
+ await using IDb con = await mysql.Connect();
+ World obj = await WorldService.GetRandomWorld(con);
+ return obj;
}
- public static ValueTask json(HttpReq _)
+ [WebFunctionAopTry]
+ public static async Task queries(string queries)
{
- return HttpRes.HttpJson(new JsonResponse
- {
- message = "Hello, World!"
- });
+ if (!int.TryParse(queries, out int count))
+ count = 1;
+ count = Math.Clamp(count, 1, 500);
+
+ await using IDb con = await mysql.Connect();
+ var lst = await WorldService.GetWorlds(con, count);
+ return lst;
}
-}
+ [WebFunctionAopTry]
+ public static async Task updates(string queries)
+ {
+ if (!int.TryParse(queries, out int count))
+ count = 1;
+ count = Math.Clamp(count, 1, 500);
-public class JsonResponse
-{
- public string? message { get; set; }
-}
+ await using IDb con = await mysql.Connect();
+ var lst = await WorldService.GetWorlds(con, count);
+
+ foreach (var item in lst)
+ item.randomNumber = Random.Shared.Next(1, 10001);
+
+ await WorldService.SaveWorlds(con, lst);
-[JsonSerializable(typeof(JsonResponse))]
-public partial class Json : JsonSerializerContext { }
+ return lst;
+ }
+
+
+}
diff --git a/frameworks/CSharp/akazawayun.pro/src/WorldService.cs b/frameworks/CSharp/akazawayun.pro/src/WorldService.cs
new file mode 100644
index 00000000000..b94afce47f0
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/src/WorldService.cs
@@ -0,0 +1,33 @@
+using AkazawaYun.PRO7;
+
+namespace AkazawaYun.FrameworkBenchmarks;
+
+internal static class WorldService
+{
+ public static async Task GetRandomWorld(IDb con, Dictionary? shared = null)
+ {
+ string sql = "SELECT id, randomNumber FROM world WHERE id = @id";
+ int id = Random.Shared.Next(1, 10001);
+ shared ??= new DpSingleBuilder().Build();
+ shared["id"] = id;
+
+ World? obj = await con.Find(sql, shared).ToWorld();
+ return obj!;
+ }
+ public static async Task GetWorlds(IDb con, int count)
+ {
+ World[] lst = new World[count];
+ var dp = new DpSingleBuilder().Build();
+ for (int i = 0; i < count; i++)
+ {
+ World obj = await GetRandomWorld(con, dp);
+ lst[i] = obj;
+ }
+ return lst;
+ }
+ public static async Task SaveWorlds(IDb con, World[] lst)
+ {
+ string sql = "UPDATE world SET randomNumber=@randomNumber WHERE id=@id ;";
+ await con.Execute(sql, lst.ToDp());
+ }
+}
From 8ffd6e1674e21a228254757e495abd3faa11a4c4 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Wed, 13 Aug 2025 02:56:42 +0800
Subject: [PATCH 07/50] -
---
frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile | 1 +
1 file changed, 1 insertion(+)
diff --git a/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile b/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
index 517de01369b..268a6df7969 100644
--- a/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
+++ b/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
@@ -4,6 +4,7 @@ WORKDIR /app
COPY src .
RUN dotnet publish -c Release -o /app/publish
+# 运行
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS runtime
WORKDIR /app
COPY --from=publish /app/publish .
From e1d5577a919f1ae57e51e85bbc0c9479ed5e73b2 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Thu, 14 Aug 2025 11:56:49 +0800
Subject: [PATCH 08/50] use generated sql instead const string.
---
.../src/AkazawaYun.FrameworkBenchmarks.csproj | 1 +
frameworks/CSharp/akazawayun.pro/src/Model.cs | 13 ++---
frameworks/CSharp/akazawayun.pro/src/Mysql.cs | 2 +-
.../CSharp/akazawayun.pro/src/Program.cs | 52 ++++++++++---------
.../CSharp/akazawayun.pro/src/WorldService.cs | 32 ++++++++----
5 files changed, 59 insertions(+), 41 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
index 65752ace3ae..422a1ec22fc 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
@@ -6,6 +6,7 @@
enable
enable
true
+ false
diff --git a/frameworks/CSharp/akazawayun.pro/src/Model.cs b/frameworks/CSharp/akazawayun.pro/src/Model.cs
index 3fdc588ef5c..2fdf2c6d1f3 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Model.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Model.cs
@@ -1,19 +1,20 @@
-using AkazawaYun.AOT;
+#pragma warning disable IDE1006,CS8981
+using AkazawaYun.AOT;
using System.Text.Json.Serialization;
namespace AkazawaYun.FrameworkBenchmarks;
-[JsonSerializable(typeof(JsonResponse))]
-[JsonSerializable(typeof(World))]
-public partial class Json : JsonSerializerContext { }
+[JsonSerializable(typeof(JsonModel))]
+[JsonSerializable(typeof(world[]))]
+public partial class AotJsonContext : JsonSerializerContext { }
-public class JsonResponse
+public class JsonModel
{
public string? message { get; set; }
}
-public class World : IAotModel
+public class world : IAotModel
{
public int id { get; set; }
public int randomNumber { get; set; }
diff --git a/frameworks/CSharp/akazawayun.pro/src/Mysql.cs b/frameworks/CSharp/akazawayun.pro/src/Mysql.cs
index ca86a8e4622..8c056b15baa 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Mysql.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Mysql.cs
@@ -4,7 +4,7 @@
namespace AkazawaYun.FrameworkBenchmarks;
-internal class Mysql : akzDbFactory
+class Mysql : akzDbFactory
{
protected override DbConnection NewConnection() => new MySqlConnection(ConString);
}
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index 1a1ae87a7e4..dc4c3c7c2e1 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -1,23 +1,23 @@
-using AkazawaYun.AOT;
+#pragma warning disable IDE1006
+
+using AkazawaYun.AOT;
using AkazawaYun.PRO7;
using AkazawaYun.PRO7.AkazawaYunWebFunctionAOP;
using AkazawaYun.PRO7.AkazawaYunWebInterceptor;
using System.Diagnostics.CodeAnalysis;
-using System.Runtime.Intrinsics.Arm;
-using System.Text.Json.Serialization;
-using System.Threading.Tasks;
namespace AkazawaYun.FrameworkBenchmarks;
-internal class Program : IPostFunctionWrapper
+class Program : IPostFunctionWrapper
{
static readonly akzWebBuilder builder;
static readonly akzDbFactory mysql;
+ [UnconditionalSuppressMessage("Trimming", "IL2026")]
static Program()
{
- akzJson.Config(null, Json.Default);
+ akzJson.Config(null, AotJsonContext.Default);
builder = akzWebBuilder.Shared.SetDefault()
.Build()
.Config(itc =>
@@ -26,10 +26,10 @@ static Program()
});
mysql = new akzDbBuilderII()
.SetServer("tfb-database")
- .SetDatabase("hello_world")
.SetUser("benchmarkdbuser")
.SetPwd("benchmarkdbpass")
- .SetOtherset("Maximum Pool Size=1024;SslMode=None;ConnectionReset=false;ConnectionIdlePingTime=900;ConnectionIdleTimeout=0;AutoEnlist=false;DefaultCommandTimeout=0;ConnectionTimeout=0;IgnorePrepare=false;")
+ .SetDatabase("hello_world")
+ .SetOtherset("SslMode=None;")
.Build();
}
static async Task Main()
@@ -40,42 +40,38 @@ static async Task Main()
}
-
public static HttpRes plaintext() => HttpRes.HttpOK("Hello, World!", ".txt");
- public static JsonResponse json() => new()
+ public static JsonModel json() => new()
{
message = "Hello, World!"
};
+
[WebFunctionAopTry]
- public static async Task db()
+ public static async Task db()
{
await using IDb con = await mysql.Connect();
- World obj = await WorldService.GetRandomWorld(con);
+ world obj = await WorldService.GetRandomWorld(con);
return obj;
}
[WebFunctionAopTry]
- public static async Task queries(string queries)
+ public static async Task queries(string queries)
{
- if (!int.TryParse(queries, out int count))
- count = 1;
- count = Math.Clamp(count, 1, 500);
+ int count = ParseCount(queries);
await using IDb con = await mysql.Connect();
- var lst = await WorldService.GetWorlds(con, count);
+ world[] lst = await WorldService.GetWorlds(con, count);
return lst;
}
[WebFunctionAopTry]
- public static async Task updates(string queries)
+ public static async Task updates(string queries)
{
- if (!int.TryParse(queries, out int count))
- count = 1;
- count = Math.Clamp(count, 1, 500);
+ int count = ParseCount(queries);
await using IDb con = await mysql.Connect();
- var lst = await WorldService.GetWorlds(con, count);
+ world[] lst = await WorldService.GetWorlds(con, count);
- foreach (var item in lst)
- item.randomNumber = Random.Shared.Next(1, 10001);
+ foreach (world obj in lst)
+ obj.randomNumber = Random.Shared.Next(1, 10001);
await WorldService.SaveWorlds(con, lst);
@@ -83,4 +79,12 @@ public static async Task updates(string queries)
}
+ static int ParseCount(string queries)
+ {
+ if (!int.TryParse(queries, out int count))
+ count = 1;
+ count = Math.Clamp(count, 1, 500);
+ return count;
+ }
+
}
diff --git a/frameworks/CSharp/akazawayun.pro/src/WorldService.cs b/frameworks/CSharp/akazawayun.pro/src/WorldService.cs
index b94afce47f0..1ef7f17e8a4 100644
--- a/frameworks/CSharp/akazawayun.pro/src/WorldService.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/WorldService.cs
@@ -2,32 +2,44 @@
namespace AkazawaYun.FrameworkBenchmarks;
-internal static class WorldService
+class WorldService
{
- public static async Task GetRandomWorld(IDb con, Dictionary? shared = null)
+ static readonly int @id;
+ // SELECT id, randomNumber FROM world WHERE id=@id ;
+ public static readonly string SqlSelect = akzSqlinq.Query().Select(m => new
+ {
+ m.id,
+ m.randomNumber,
+ }).Where(m => m.id == @id).Build();
+ // UPDATE world SET randomNumber=@randomNumber WHERE id=@id ;
+ public static readonly string SqlUpdate = akzSqlinq.Update().Set(m => new()
+ {
+ randomNumber = m.randomNumber,
+ }).Where(m => m.id == @id).Build();
+
+
+ public static async Task GetRandomWorld(IDb con, IDictionary? shared = null)
{
- string sql = "SELECT id, randomNumber FROM world WHERE id = @id";
int id = Random.Shared.Next(1, 10001);
shared ??= new DpSingleBuilder().Build();
shared["id"] = id;
- World? obj = await con.Find(sql, shared).ToWorld();
+ world? obj = await con.Find(SqlSelect, shared).Toworld();
return obj!;
}
- public static async Task GetWorlds(IDb con, int count)
+ public static async Task GetWorlds(IDb con, int count)
{
- World[] lst = new World[count];
+ world[] lst = new world[count];
var dp = new DpSingleBuilder().Build();
for (int i = 0; i < count; i++)
{
- World obj = await GetRandomWorld(con, dp);
+ world obj = await GetRandomWorld(con, dp);
lst[i] = obj;
}
return lst;
}
- public static async Task SaveWorlds(IDb con, World[] lst)
+ public static async Task SaveWorlds(IDb con, world[] lst)
{
- string sql = "UPDATE world SET randomNumber=@randomNumber WHERE id=@id ;";
- await con.Execute(sql, lst.ToDp());
+ await con.Execute(SqlUpdate, lst.ToDp());
}
}
From 003908b66306c32ba72e1374c22c911726a04b61 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sat, 23 Aug 2025 12:16:16 +0800
Subject: [PATCH 09/50] update version
---
.../src/AkazawaYun.FrameworkBenchmarks.csproj | 2 +-
frameworks/CSharp/akazawayun.pro/src/Program.cs | 12 ++++++------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
index 422a1ec22fc..fe030721641 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index dc4c3c7c2e1..0bd4165fb34 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -1,4 +1,4 @@
-#pragma warning disable IDE1006
+#pragma warning disable IDE1006,IL2026
using AkazawaYun.AOT;
using AkazawaYun.PRO7;
@@ -14,7 +14,6 @@ class Program : IPostFunctionWrapper
static readonly akzDbFactory mysql;
- [UnconditionalSuppressMessage("Trimming", "IL2026")]
static Program()
{
akzJson.Config(null, AotJsonContext.Default);
@@ -46,14 +45,14 @@ static async Task Main()
message = "Hello, World!"
};
- [WebFunctionAopTry]
+ //[WebFunctionAopTry]
public static async Task db()
{
await using IDb con = await mysql.Connect();
world obj = await WorldService.GetRandomWorld(con);
return obj;
}
- [WebFunctionAopTry]
+ //[WebFunctionAopTry]
public static async Task queries(string queries)
{
int count = ParseCount(queries);
@@ -62,7 +61,7 @@ public static async Task queries(string queries)
world[] lst = await WorldService.GetWorlds(con, count);
return lst;
}
- [WebFunctionAopTry]
+ //[WebFunctionAopTry]
public static async Task updates(string queries)
{
int count = ParseCount(queries);
@@ -82,7 +81,8 @@ public static async Task updates(string queries)
static int ParseCount(string queries)
{
if (!int.TryParse(queries, out int count))
- count = 1;
+ return 1;
+
count = Math.Clamp(count, 1, 500);
return count;
}
From eb88f324a8a52cfe9e7799e133fe3595efc91869 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sun, 24 Aug 2025 02:12:26 +0800
Subject: [PATCH 10/50] fix bug of db query
---
.../src/AkazawaYun.FrameworkBenchmarks.csproj | 2 +-
frameworks/CSharp/akazawayun.pro/src/Program.cs | 7 +++++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
index fe030721641..d90be15ce78 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index 0bd4165fb34..183cc59636b 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -21,14 +21,17 @@ static Program()
.Build()
.Config(itc =>
{
+ itc.ClearInterceptor();
itc.AddInterceptor(new akzWebInterceptorNotOnlyPost());
});
mysql = new akzDbBuilderII()
- .SetServer("tfb-database")
+ .SetServer("tfb-database:3306")
+ //.SetServer("localhost:3306")
.SetUser("benchmarkdbuser")
.SetPwd("benchmarkdbpass")
.SetDatabase("hello_world")
- .SetOtherset("SslMode=None;")
+ .SetCharset()
+ .SetOtherset()
.Build();
}
static async Task Main()
From 9f8f66c56638607063caf5ade6fd0419dbbb7c2e Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sat, 18 Oct 2025 23:04:51 +0800
Subject: [PATCH 11/50] set port to 8080
---
.../akazawayun.pro/benchmark_config.json | 12 ++++++------
.../CSharp/akazawayun.pro/src/Program.cs | 18 ++++++++++++++----
2 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index d03b12ca608..8f067f8fee6 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -6,12 +6,12 @@
"display_name": "akazawayun.pro",
"framework": "akazawayun.pro",
"webserver": "akazawayun.pro",
- "plaintext_url": "/post/plaintext",
- "json_url": "/post/json",
- "db_url": "/post/db",
- "query_url": "/post/queries?queries=",
- "update_url": "/post/updates?queries=",
- "port": 2022,
+ "plaintext_url": "/plaintext",
+ "json_url": "/json",
+ "db_url": "/db",
+ "query_url": "/queries?queries=",
+ "update_url": "/updates?queries=",
+ "port": 8080,
"classification": "Micro",
"approach": "Realistic",
"platform": ".NET",
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index 077fc489ddb..6deaa438d33 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -17,16 +17,16 @@ class Program : IPostFunctionWrapper
static Program()
{
akzJson.Config(null, AotJsonContext.Default);
- builder = akzWebBuilder.Shared.SetDefault()
+ builder = akzWebBuilder.Shared.SetPort(8080).SetDefault()
.Build()
.Config(itc =>
{
itc.ClearInterceptor();
- itc.AddInterceptor(new akzWebInterceptorNotOnlyPost());
+ itc.AddInterceptor(new akzWebInterceptorAsPost());
});
mysql = new akzDbBuilderII()
- .SetServer("tfb-database:3306")
- //.SetServer("localhost:3306")
+ .SetServer("tfb-database")
+ //.SetServer("localhost")
.SetUser("benchmarkdbuser")
.SetPwd("benchmarkdbpass")
.SetDatabase("hello_world")
@@ -91,3 +91,13 @@ static int ParseCount(string queries)
}
}
+
+
+public class akzWebInterceptorAsPost : WebInterceptor
+{
+ public override ValueTask Intercept(IHttpContext http)
+ {
+ http.Method = "POST";
+ return InterceptorHttpRes.No();
+ }
+}
\ No newline at end of file
From be69ad1bfc4699a6ce6c914d4393295a9428e839 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Fri, 24 Oct 2025 04:27:10 +0800
Subject: [PATCH 12/50] =?UTF-8?q?=E5=8D=87=E7=BA=A7=20akazawayun.pro=20?=
=?UTF-8?q?=E6=A1=86=E6=9E=B6=E7=89=88=E6=9C=AC=E5=88=B0=2014?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj | 4 ++--
frameworks/CSharp/akazawayun.pro/src/Program.cs | 5 +----
2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
index c2c063469d0..74ff38b5e31 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
@@ -15,8 +15,8 @@
-
-
+
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index 6deaa438d33..509cdd952f3 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -2,9 +2,6 @@
using AkazawaYun.AOT;
using AkazawaYun.PRO7;
-using AkazawaYun.PRO7.AkazawaYunWebFunctionAOP;
-using AkazawaYun.PRO7.AkazawaYunWebInterceptor;
-using System.Diagnostics.CodeAnalysis;
namespace AkazawaYun.FrameworkBenchmarks;
@@ -17,7 +14,7 @@ class Program : IPostFunctionWrapper
static Program()
{
akzJson.Config(null, AotJsonContext.Default);
- builder = akzWebBuilder.Shared.SetPort(8080).SetDefault()
+ builder = akzWebBuilder.Shared.SetPort(8080)
.Build()
.Config(itc =>
{
From d6e7352c1e2ce11f209b67dce0e6979b03f3046b Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Fri, 24 Oct 2025 05:01:05 +0800
Subject: [PATCH 13/50] i forget to update the port change...
---
frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile b/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
index 44d69f1c8fa..7ae1060903d 100644
--- a/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
+++ b/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
@@ -9,5 +9,5 @@ FROM mcr.microsoft.com/dotnet/sdk:9.0 AS runtime
WORKDIR /app
COPY --from=publish /app/publish .
-EXPOSE 2022
+EXPOSE 8080
ENTRYPOINT ["dotnet", "AkazawaYun.FrameworkBenchmarks.dll"]
From fcf3f289875d7150820201d87d32baf4924c847b Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Fri, 24 Oct 2025 06:02:40 +0800
Subject: [PATCH 14/50] test self whether work fine..
---
frameworks/CSharp/akazawayun.pro/src/Program.cs | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index 0f4eb0a5917..a2b11618e50 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -34,6 +34,15 @@ static Program()
static async Task Main()
{
await builder.Launch();
+
+ akzLog.Inf("[API SELF-TEST]");
+ string url = "http://localhost:8080/plaintext";
+ akzLog.Inf(" REQ URL :" + url);
+ string res = await akzHttpClient.Shared.Get(url).FetchString();
+ akzLog.Inf(" RES LEN :" + res.Length);
+ akzLog.Inf(" RES BODY:" + res);
+ akzLog.Inf("[OK, I WORK FINE]");
+
akzLog.Default = akzLog.Output.None;
await Task.Delay(-1);
}
From 4e818de7fedc46420e840ccef138052aa68822c3 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sat, 25 Oct 2025 07:43:42 +0800
Subject: [PATCH 15/50] update nuget version
---
.../akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
index 74ff38b5e31..314e4b31339 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
@@ -15,7 +15,7 @@
-
+
From 97600a039084cdab39e6201588bac36f17585a3e Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sat, 25 Oct 2025 09:53:17 +0800
Subject: [PATCH 16/50] why pr failed...
---
.gitignore | 1 +
.../AkazawaYun.FrameworkBenchmarks.sln | 25 +++++++++++++++++++
.../akazawayun.pro/akazawayun.pro.dockerfile | 2 +-
.../akazawayun.pro/benchmark_config.json | 2 +-
.../src/AkazawaYun.FrameworkBenchmarks.csproj | 2 ++
.../CSharp/akazawayun.pro/src/Program.cs | 6 ++---
.../TouchSocketHttp/TouchSocketHttp.csproj | 4 +--
7 files changed, 35 insertions(+), 7 deletions(-)
create mode 100644 frameworks/CSharp/akazawayun.pro/AkazawaYun.FrameworkBenchmarks.sln
diff --git a/.gitignore b/.gitignore
index bd7318e44d9..2f4e02babd6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -69,3 +69,4 @@ benchmark.cfg
# python
.venv/
+frameworks/CSharp/akazawayun.pro/Dockerfile
diff --git a/frameworks/CSharp/akazawayun.pro/AkazawaYun.FrameworkBenchmarks.sln b/frameworks/CSharp/akazawayun.pro/AkazawaYun.FrameworkBenchmarks.sln
new file mode 100644
index 00000000000..e2c50c4d4fd
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/AkazawaYun.FrameworkBenchmarks.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.14.36310.24 d17.14
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AkazawaYun.FrameworkBenchmarks", "src/AkazawaYun.FrameworkBenchmarks.csproj", "{BB5587FE-E4A0-851D-6025-F5FF0EC54525}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {BB5587FE-E4A0-851D-6025-F5FF0EC54525}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BB5587FE-E4A0-851D-6025-F5FF0EC54525}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BB5587FE-E4A0-851D-6025-F5FF0EC54525}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BB5587FE-E4A0-851D-6025-F5FF0EC54525}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {81EA49A3-BB25-4EC5-B861-02520931CF63}
+ EndGlobalSection
+EndGlobal
diff --git a/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile b/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
index 7ae1060903d..44d69f1c8fa 100644
--- a/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
+++ b/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
@@ -9,5 +9,5 @@ FROM mcr.microsoft.com/dotnet/sdk:9.0 AS runtime
WORKDIR /app
COPY --from=publish /app/publish .
-EXPOSE 8080
+EXPOSE 2022
ENTRYPOINT ["dotnet", "AkazawaYun.FrameworkBenchmarks.dll"]
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index 8f067f8fee6..00ccc11eceb 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -11,7 +11,7 @@
"db_url": "/db",
"query_url": "/queries?queries=",
"update_url": "/updates?queries=",
- "port": 8080,
+ "port": 2022,
"classification": "Micro",
"approach": "Realistic",
"platform": ".NET",
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
index 314e4b31339..0d73f546c03 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
@@ -12,6 +12,8 @@
true
true
+ Linux
+ ..\..\..\..\..\..\AkazawaYun.FrameworkBenchmarks
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index a2b11618e50..07fd617ba27 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -9,12 +9,12 @@ class Program : IPostFunctionWrapper
{
static readonly akzWebBuilder builder;
static readonly akzDbFactory mysql;
-
+ const int port = 2022;
static Program()
{
akzJson.Config(null, AotJsonContext.Default);
- builder = akzWebBuilder.Shared.SetPort(8080)
+ builder = akzWebBuilder.Shared.SetPort(port)
.Build()
.Config(itc =>
{
@@ -36,7 +36,7 @@ static async Task Main()
await builder.Launch();
akzLog.Inf("[API SELF-TEST]");
- string url = "http://localhost:8080/plaintext";
+ string url = $"http://localhost:{port}/plaintext";
akzLog.Inf(" REQ URL :" + url);
string res = await akzHttpClient.Shared.Get(url).FetchString();
akzLog.Inf(" RES LEN :" + res.Length);
diff --git a/frameworks/CSharp/touchsocket/src/TouchSocketHttp/TouchSocketHttp.csproj b/frameworks/CSharp/touchsocket/src/TouchSocketHttp/TouchSocketHttp.csproj
index 1b9d682382f..af57847b787 100644
--- a/frameworks/CSharp/touchsocket/src/TouchSocketHttp/TouchSocketHttp.csproj
+++ b/frameworks/CSharp/touchsocket/src/TouchSocketHttp/TouchSocketHttp.csproj
@@ -10,8 +10,8 @@
-
-
+
+
From db493eba40fcec5047152a5d7a726a0f8418402b Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sat, 25 Oct 2025 09:59:23 +0800
Subject: [PATCH 17/50] =?UTF-8?q?=E4=B8=8D=E5=B0=8F=E5=BF=83=E5=A4=9A?=
=?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=86=E5=88=AB=E4=BA=BA=E7=9A=84=E6=A1=86?=
=?UTF-8?q?=E6=9E=B6...=E6=94=B9=E5=9B=9E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj | 2 --
frameworks/CSharp/akazawayun.pro/src/Program.cs | 2 +-
.../touchsocket/src/TouchSocketHttp/TouchSocketHttp.csproj | 4 ++--
3 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
index 0d73f546c03..314e4b31339 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
@@ -12,8 +12,6 @@
true
true
- Linux
- ..\..\..\..\..\..\AkazawaYun.FrameworkBenchmarks
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index 07fd617ba27..f03bd730ffb 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -43,7 +43,7 @@ static async Task Main()
akzLog.Inf(" RES BODY:" + res);
akzLog.Inf("[OK, I WORK FINE]");
- akzLog.Default = akzLog.Output.None;
+ akzLog.Default = akzLog.Output.NoneButWar;
await Task.Delay(-1);
}
diff --git a/frameworks/CSharp/touchsocket/src/TouchSocketHttp/TouchSocketHttp.csproj b/frameworks/CSharp/touchsocket/src/TouchSocketHttp/TouchSocketHttp.csproj
index af57847b787..1b9d682382f 100644
--- a/frameworks/CSharp/touchsocket/src/TouchSocketHttp/TouchSocketHttp.csproj
+++ b/frameworks/CSharp/touchsocket/src/TouchSocketHttp/TouchSocketHttp.csproj
@@ -10,8 +10,8 @@
-
-
+
+
From ed15ca9e4964c59f7a4359341c85089bc0a97b8c Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sat, 25 Oct 2025 10:31:40 +0800
Subject: [PATCH 18/50] akazawayun fix bug
---
.../akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
index 314e4b31339..3b180a558e7 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
@@ -1,4 +1,4 @@
-
+
Exe
@@ -15,7 +15,7 @@
-
+
From 36356545cf1d2b65613eea112952788cce1b3d10 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sat, 25 Oct 2025 10:37:49 +0800
Subject: [PATCH 19/50] remove db test
there is some error in mysql
---
frameworks/CSharp/akazawayun.pro/benchmark_config.json | 3 ---
1 file changed, 3 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index 00ccc11eceb..6584d0cf290 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -8,9 +8,6 @@
"webserver": "akazawayun.pro",
"plaintext_url": "/plaintext",
"json_url": "/json",
- "db_url": "/db",
- "query_url": "/queries?queries=",
- "update_url": "/updates?queries=",
"port": 2022,
"classification": "Micro",
"approach": "Realistic",
From 5808224123a0eaaca2bfa2ff02a699c1320190bc Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sat, 25 Oct 2025 11:32:26 +0800
Subject: [PATCH 20/50] confirmed there is bug in mysql.data 9.5.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
还是用8080端口吧- -b, 都用8080, 改其他的对比测时不方便
---
frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile | 2 +-
frameworks/CSharp/akazawayun.pro/benchmark_config.json | 2 +-
frameworks/CSharp/akazawayun.pro/src/Program.cs | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile b/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
index 44d69f1c8fa..7ae1060903d 100644
--- a/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
+++ b/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
@@ -9,5 +9,5 @@ FROM mcr.microsoft.com/dotnet/sdk:9.0 AS runtime
WORKDIR /app
COPY --from=publish /app/publish .
-EXPOSE 2022
+EXPOSE 8080
ENTRYPOINT ["dotnet", "AkazawaYun.FrameworkBenchmarks.dll"]
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index 6584d0cf290..0a38c3f9e1e 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -8,7 +8,7 @@
"webserver": "akazawayun.pro",
"plaintext_url": "/plaintext",
"json_url": "/json",
- "port": 2022,
+ "port": 8080,
"classification": "Micro",
"approach": "Realistic",
"platform": ".NET",
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index f03bd730ffb..80f0e45f587 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -9,7 +9,7 @@ class Program : IPostFunctionWrapper
{
static readonly akzWebBuilder builder;
static readonly akzDbFactory mysql;
- const int port = 2022;
+ const int port = 8080;
static Program()
{
From 1f951fc341e615d10627d59881f8fe7634e3adae Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sat, 25 Oct 2025 11:35:25 +0800
Subject: [PATCH 21/50] downgrade mysql.data back to 9.4.0
---
frameworks/CSharp/akazawayun.pro/benchmark_config.json | 3 +++
.../akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index 0a38c3f9e1e..8f067f8fee6 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -8,6 +8,9 @@
"webserver": "akazawayun.pro",
"plaintext_url": "/plaintext",
"json_url": "/json",
+ "db_url": "/db",
+ "query_url": "/queries?queries=",
+ "update_url": "/updates?queries=",
"port": 8080,
"classification": "Micro",
"approach": "Realistic",
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
index 3b180a558e7..fc3dce09ca7 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
@@ -16,7 +16,7 @@
-
+
From 91a50a4812c1f345a4e3e5fa9c6425efe6e68432 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sun, 26 Oct 2025 01:52:52 +0800
Subject: [PATCH 22/50] fix bug of akazawayun.pro
---
.../akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj | 2 +-
frameworks/CSharp/akazawayun.pro/src/Program.cs | 5 +++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
index fc3dce09ca7..d3bbe1b17cc 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index 80f0e45f587..bd4ffe628bc 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -23,9 +23,11 @@ static Program()
});
mysql = new akzDbBuilderII()
.SetServer("tfb-database")
- //.SetServer("localhost")
+ //.SetServer("localhost:3306")
.SetUser("benchmarkdbuser")
+ //.SetUser("root")
.SetPwd("benchmarkdbpass")
+ //.SetPwd("123456")
.SetDatabase("hello_world")
.SetCharset()
.SetOtherset()
@@ -98,7 +100,6 @@ static int ParseCount(string queries)
}
-
public class akzWebInterceptorAsPost : WebInterceptor
{
public override ValueTask Intercept(IHttpContext http)
From 2280f950fff945646d3113fd9a11f25236e592c5 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sat, 1 Nov 2025 12:14:39 +0800
Subject: [PATCH 23/50] update version of akazawayun.pro
---
.../akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj | 2 +-
frameworks/CSharp/akazawayun.pro/src/Program.cs | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
index d3bbe1b17cc..51ed504b646 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index bd4ffe628bc..b74bb231ca0 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -14,8 +14,10 @@ class Program : IPostFunctionWrapper
static Program()
{
akzJson.Config(null, AotJsonContext.Default);
- builder = akzWebBuilder.Shared.SetPort(port)
+ builder = akzWebBuilder.Shared.SetPort(port).SetDev()
+ .Add(() => null)
.Build()
+ .Config(lis => lis.LogLevel = 0)
.Config(itc =>
{
itc.ClearInterceptor();
From c27a576adfc21de255fd25b5105427372ea28153 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sun, 2 Nov 2025 04:09:24 +0800
Subject: [PATCH 24/50] update version
---
.../akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj | 2 +-
frameworks/CSharp/akazawayun.pro/src/Program.cs | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
index 51ed504b646..2a2482a204e 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/Program.cs
index b74bb231ca0..af3151846ec 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/Program.cs
@@ -15,7 +15,7 @@ static Program()
{
akzJson.Config(null, AotJsonContext.Default);
builder = akzWebBuilder.Shared.SetPort(port).SetDev()
- .Add(() => null)
+ .Add(() => null)
.Build()
.Config(lis => lis.LogLevel = 0)
.Config(itc =>
From 3bf0f3f48cfa6476332bcac30d506d4357cf6d71 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Mon, 3 Nov 2025 04:34:35 +0800
Subject: [PATCH 25/50] add platform test
---
...enchmarks.sln => AkazawaYun.Benchmark.sln} | 10 ++-
.../akazawayun.pro-platform.dockerfile | 13 ++++
.../akazawayun.pro/akazawayun.pro.dockerfile | 4 +-
.../akazawayun.pro/benchmark_config.json | 68 ++++++++++++-------
.../AkazawaYun.Benchmark.Platform.csproj | 21 ++++++
.../AkazawaYun.Benchmark.Platform/Model.cs | 14 ++++
.../MyBenchmarkReceptor.cs | 55 +++++++++++++++
.../AkazawaYun.Benchmark.Platform/Program.cs | 37 ++++++++++
.../AkazawaYun.Benchmark.WebApi.csproj} | 2 +-
.../Model.cs | 2 +-
.../Mysql.cs | 2 +-
.../Program.cs | 2 +-
.../WorldService.cs | 2 +-
13 files changed, 197 insertions(+), 35 deletions(-)
rename frameworks/CSharp/akazawayun.pro/{AkazawaYun.FrameworkBenchmarks.sln => AkazawaYun.Benchmark.sln} (58%)
create mode 100644 frameworks/CSharp/akazawayun.pro/akazawayun.pro-platform.dockerfile
create mode 100644 frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
create mode 100644 frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Model.cs
create mode 100644 frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs
create mode 100644 frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
rename frameworks/CSharp/akazawayun.pro/src/{AkazawaYun.FrameworkBenchmarks.csproj => AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj} (98%)
rename frameworks/CSharp/akazawayun.pro/src/{ => AkazawaYun.Benchmark.WebApi}/Model.cs (90%)
rename frameworks/CSharp/akazawayun.pro/src/{ => AkazawaYun.Benchmark.WebApi}/Mysql.cs (82%)
rename frameworks/CSharp/akazawayun.pro/src/{ => AkazawaYun.Benchmark.WebApi}/Program.cs (98%)
rename frameworks/CSharp/akazawayun.pro/src/{ => AkazawaYun.Benchmark.WebApi}/WorldService.cs (96%)
diff --git a/frameworks/CSharp/akazawayun.pro/AkazawaYun.FrameworkBenchmarks.sln b/frameworks/CSharp/akazawayun.pro/AkazawaYun.Benchmark.sln
similarity index 58%
rename from frameworks/CSharp/akazawayun.pro/AkazawaYun.FrameworkBenchmarks.sln
rename to frameworks/CSharp/akazawayun.pro/AkazawaYun.Benchmark.sln
index e2c50c4d4fd..66c1850c7f3 100644
--- a/frameworks/CSharp/akazawayun.pro/AkazawaYun.FrameworkBenchmarks.sln
+++ b/frameworks/CSharp/akazawayun.pro/AkazawaYun.Benchmark.sln
@@ -1,9 +1,11 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
-VisualStudioVersion = 17.14.36310.24 d17.14
+VisualStudioVersion = 17.14.36310.24
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AkazawaYun.FrameworkBenchmarks", "src/AkazawaYun.FrameworkBenchmarks.csproj", "{BB5587FE-E4A0-851D-6025-F5FF0EC54525}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AkazawaYun.Benchmark.WebApi", "src\AkazawaYun.Benchmark.WebApi\AkazawaYun.Benchmark.WebApi.csproj", "{BB5587FE-E4A0-851D-6025-F5FF0EC54525}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AkazawaYun.Benchmark.Platform", "src\AkazawaYun.Benchmark.Platform\AkazawaYun.Benchmark.Platform.csproj", "{E7CA7DF7-F4AB-47EC-BF2B-1148058CDF43}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -15,6 +17,10 @@ Global
{BB5587FE-E4A0-851D-6025-F5FF0EC54525}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BB5587FE-E4A0-851D-6025-F5FF0EC54525}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BB5587FE-E4A0-851D-6025-F5FF0EC54525}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E7CA7DF7-F4AB-47EC-BF2B-1148058CDF43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E7CA7DF7-F4AB-47EC-BF2B-1148058CDF43}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E7CA7DF7-F4AB-47EC-BF2B-1148058CDF43}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E7CA7DF7-F4AB-47EC-BF2B-1148058CDF43}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/frameworks/CSharp/akazawayun.pro/akazawayun.pro-platform.dockerfile b/frameworks/CSharp/akazawayun.pro/akazawayun.pro-platform.dockerfile
new file mode 100644
index 00000000000..09f68ecd72d
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/akazawayun.pro-platform.dockerfile
@@ -0,0 +1,13 @@
+# 生成
+FROM mcr.microsoft.com/dotnet/sdk:9.0 AS publish
+WORKDIR /app
+COPY src/AkazawaYun.Benchmark.Platform .
+RUN dotnet publish -c Release -o /app/publish
+
+# 运行
+FROM mcr.microsoft.com/dotnet/sdk:9.0 AS runtime
+WORKDIR /app
+COPY --from=publish /app/publish .
+
+EXPOSE 8080
+ENTRYPOINT ["dotnet", "AkazawaYun.Benchmark.Platform.dll"]
diff --git a/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile b/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
index 7ae1060903d..439e8de4959 100644
--- a/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
+++ b/frameworks/CSharp/akazawayun.pro/akazawayun.pro.dockerfile
@@ -1,7 +1,7 @@
# 生成
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS publish
WORKDIR /app
-COPY src .
+COPY src/AkazawaYun.Benchmark.WebApi .
RUN dotnet publish -c Release -o /app/publish
# 运行
@@ -10,4 +10,4 @@ WORKDIR /app
COPY --from=publish /app/publish .
EXPOSE 8080
-ENTRYPOINT ["dotnet", "AkazawaYun.FrameworkBenchmarks.dll"]
+ENTRYPOINT ["dotnet", "AkazawaYun.Benchmark.WebApi.dll"]
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index 8f067f8fee6..c9655a9f9c9 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -1,28 +1,44 @@
{
- "framework": "akazawayun.pro",
- "tests": [
- {
- "default": {
- "display_name": "akazawayun.pro",
- "framework": "akazawayun.pro",
- "webserver": "akazawayun.pro",
- "plaintext_url": "/plaintext",
- "json_url": "/json",
- "db_url": "/db",
- "query_url": "/queries?queries=",
- "update_url": "/updates?queries=",
- "port": 8080,
- "classification": "Micro",
- "approach": "Realistic",
- "platform": ".NET",
- "language": "C#",
- "flavor": "CoreCLR",
- "os": "Linux",
- "database_os": "Linux",
- "database": "MySQL",
- "orm": "Micro",
- "notes": ""
- }
- }
- ]
+ "framework": "akazawayun.pro",
+ "tests": [
+ {
+ "default": {
+ "display_name": "akazawayun.pro [webapi]",
+ "framework": "akazawayun.pro",
+ "webserver": "akazawayun.pro",
+ "plaintext_url": "/plaintext",
+ "json_url": "/json",
+ "db_url": "/db",
+ "query_url": "/queries?queries=",
+ "update_url": "/updates?queries=",
+ "port": 8080,
+ "classification": "Micro",
+ "approach": "Realistic",
+ "platform": ".NET",
+ "language": "C#",
+ "flavor": "CoreCLR",
+ "os": "Linux",
+ "database_os": "Linux",
+ "database": "MySQL",
+ "orm": "Micro",
+ "notes": ""
+ },
+ "platform": {
+ "display_name": "akazawayun.pro [platform]",
+ "framework": "akazawayun.pro",
+ "webserver": "akazawayun.pro",
+ "plaintext_url": "/plaintext",
+ "json_url": "/json",
+ "port": 8080,
+ "classification": "Platform",
+ "approach": "Realistic",
+ "platform": ".NET",
+ "language": "C#",
+ "flavor": "CoreCLR",
+ "os": "Linux",
+ "database_os": "Linux",
+ "notes": ""
+ }
+ }
+ ]
}
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
new file mode 100644
index 00000000000..64baee178a5
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
@@ -0,0 +1,21 @@
+
+
+
+ Exe
+ net9.0
+ enable
+ enable
+ true
+ false
+
+
+
+ true
+ true
+
+
+
+
+
+
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Model.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Model.cs
new file mode 100644
index 00000000000..574123c3697
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Model.cs
@@ -0,0 +1,14 @@
+#pragma warning disable IDE1006,CS8981
+using System.Text.Json.Serialization;
+
+namespace AkazawaYun.Benchmark.Platform;
+
+
+[JsonSerializable(typeof(JsonModel))]
+public partial class AotJsonContext : JsonSerializerContext { }
+
+
+public class JsonModel
+{
+ public string? message { get; set; }
+}
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs
new file mode 100644
index 00000000000..e6ed8e9c5b7
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs
@@ -0,0 +1,55 @@
+using AkazawaYun.PRO7;
+using System.Text;
+
+namespace AkazawaYun.Benchmark.Platform;
+
+class MyBenchmarkReceptor : akzWebReceptorBenchmark
+{
+ readonly JsonModel JsonModel;
+ readonly ReadOnlyMemory JsonContentLength;
+
+
+ public MyBenchmarkReceptor()
+ {
+ JsonModel = new()
+ {
+ message = "Hello, World!"
+ };
+ akzJson.Text2Json(JsonModel, out ReadOnlyMemory json);
+ JsonContentLength = Encoding.UTF8.GetBytes($"{json.Length}\r\n\r\n");
+ }
+
+
+ public override ValueTask SendPlaintext(IHttpContext http)
+ {
+ return base.SendPlaintext(http);
+ }
+ public override async ValueTask SendJson(IHttpContext http)
+ {
+ await http.Slient.Send(DataJson_OnlyHeaderExceptContentLength);
+ await http.Slient.Send(JsonContentLength);
+ akzJson.Text2Json(JsonModel, out ReadOnlyMemory json);
+ await http.Slient.Send(json);
+ }
+ public override ValueTask SendDb(IHttpContext http)
+ {
+ throw new NotImplementedException();
+ }
+ public override ValueTask SendQueries(IHttpContext http)
+ {
+ throw new NotImplementedException();
+ }
+ public override ValueTask SendUpdates(IHttpContext http)
+ {
+ throw new NotImplementedException();
+ }
+ public override ValueTask SendCachedQueries(IHttpContext http)
+ {
+ throw new NotImplementedException();
+ }
+ public override ValueTask SendFortunes(IHttpContext http)
+ {
+ throw new NotImplementedException();
+ }
+
+}
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
new file mode 100644
index 00000000000..44dd91c0a3a
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
@@ -0,0 +1,37 @@
+using AkazawaYun.PRO7;
+
+namespace AkazawaYun.Benchmark.Platform;
+
+class Program
+{
+ static readonly akzWebBuilder builder;
+ const int port = 8080;
+
+ static Program()
+ {
+ akzLog.War("AkazawaYun.PRO 压力测试特供版 ver2025.11.3, 只支持 /plaintext 和 /json");
+ akzJson.Config(null, AotJsonContext.Default);
+ builder = akzWebBuilder.Shared.SetPort(port).SetDev(true)
+ .Add(() => null)
+ .Add(() => new MyBenchmarkReceptor())
+ .Add(() => new(port)
+ {
+ LogLevel = 0
+ }).Build();
+ }
+ static async Task Main()
+ {
+ await builder.Launch();
+
+ akzLog.Inf("[API SELF-TEST]");
+ string url = $"http://localhost:{port}/plaintext";
+ akzLog.Inf(" REQ URL :" + url);
+ string res = await akzHttpClient.Shared.Get(url).FetchString();
+ akzLog.Inf(" RES LEN :" + res.Length);
+ akzLog.Inf(" RES BODY:" + res);
+ akzLog.Inf("[OK, I WORK FINE]");
+
+ akzLog.Default = akzLog.Output.NoneButWar;
+ await Task.Delay(-1);
+ }
+}
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
similarity index 98%
rename from frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
rename to frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
index 2a2482a204e..469e112ef00 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.FrameworkBenchmarks.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/Model.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Model.cs
similarity index 90%
rename from frameworks/CSharp/akazawayun.pro/src/Model.cs
rename to frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Model.cs
index 2fdf2c6d1f3..c191e3416d5 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Model.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Model.cs
@@ -2,7 +2,7 @@
using AkazawaYun.AOT;
using System.Text.Json.Serialization;
-namespace AkazawaYun.FrameworkBenchmarks;
+namespace AkazawaYun.Benchmark.WebApi;
[JsonSerializable(typeof(JsonModel))]
diff --git a/frameworks/CSharp/akazawayun.pro/src/Mysql.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Mysql.cs
similarity index 82%
rename from frameworks/CSharp/akazawayun.pro/src/Mysql.cs
rename to frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Mysql.cs
index 8c056b15baa..049af6e21f3 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Mysql.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Mysql.cs
@@ -2,7 +2,7 @@
using MySql.Data.MySqlClient;
using System.Data.Common;
-namespace AkazawaYun.FrameworkBenchmarks;
+namespace AkazawaYun.Benchmark.WebApi;
class Mysql : akzDbFactory
{
diff --git a/frameworks/CSharp/akazawayun.pro/src/Program.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
similarity index 98%
rename from frameworks/CSharp/akazawayun.pro/src/Program.cs
rename to frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
index af3151846ec..ab7234e6f72 100644
--- a/frameworks/CSharp/akazawayun.pro/src/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
@@ -3,7 +3,7 @@
using AkazawaYun.AOT;
using AkazawaYun.PRO7;
-namespace AkazawaYun.FrameworkBenchmarks;
+namespace AkazawaYun.Benchmark.WebApi;
class Program : IPostFunctionWrapper
{
diff --git a/frameworks/CSharp/akazawayun.pro/src/WorldService.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs
similarity index 96%
rename from frameworks/CSharp/akazawayun.pro/src/WorldService.cs
rename to frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs
index 1ef7f17e8a4..8f996368ac5 100644
--- a/frameworks/CSharp/akazawayun.pro/src/WorldService.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs
@@ -1,6 +1,6 @@
using AkazawaYun.PRO7;
-namespace AkazawaYun.FrameworkBenchmarks;
+namespace AkazawaYun.Benchmark.WebApi;
class WorldService
{
From 0516ab82262e15f08d11f9a703ebcdd55b6ddaef Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Tue, 4 Nov 2025 09:34:30 +0800
Subject: [PATCH 26/50] update nupkg version
---
.../AkazawaYun.Benchmark.Platform.csproj | 2 +-
.../AkazawaYun.Benchmark.Platform/Program.cs | 18 ++++++++----------
.../AkazawaYun.Benchmark.WebApi.csproj | 2 +-
3 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
index 64baee178a5..f59eaf8f615 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
index 44dd91c0a3a..269c16f48be 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
@@ -9,27 +9,25 @@ class Program
static Program()
{
- akzLog.War("AkazawaYun.PRO 压力测试特供版 ver2025.11.3, 只支持 /plaintext 和 /json");
+ akzLog.War("AkazawaYun.PRO 平台压力测试特供版 ver2025.11.3, 只支持 /plaintext 和 /json");
akzJson.Config(null, AotJsonContext.Default);
builder = akzWebBuilder.Shared.SetPort(port).SetDev(true)
.Add(() => null)
.Add(() => new MyBenchmarkReceptor())
- .Add(() => new(port)
- {
- LogLevel = 0
- }).Build();
+ .Add(() => new(port))
+ .Build();
}
static async Task Main()
{
await builder.Launch();
- akzLog.Inf("[API SELF-TEST]");
+ Console.WriteLine("[API SELF-TEST]");
string url = $"http://localhost:{port}/plaintext";
- akzLog.Inf(" REQ URL :" + url);
+ Console.WriteLine(" REQ URL :" + url);
string res = await akzHttpClient.Shared.Get(url).FetchString();
- akzLog.Inf(" RES LEN :" + res.Length);
- akzLog.Inf(" RES BODY:" + res);
- akzLog.Inf("[OK, I WORK FINE]");
+ Console.WriteLine(" RES LEN :" + res.Length);
+ Console.WriteLine(" RES BODY:" + res);
+ Console.WriteLine("[OK, I WORK FINE]");
akzLog.Default = akzLog.Output.NoneButWar;
await Task.Delay(-1);
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
index 469e112ef00..547064216f4 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
@@ -15,7 +15,7 @@
-
+
From 3b6e6de2cd738a5c7e7cd8e6797c85646b79b3fb Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Tue, 11 Nov 2025 14:53:47 +0800
Subject: [PATCH 27/50] update version
---
.../AkazawaYun.Benchmark.Platform.csproj | 2 +-
.../AkazawaYun.Benchmark.WebApi.csproj | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
index f59eaf8f615..e43069a4338 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
index 547064216f4..452b23e493c 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
@@ -15,7 +15,7 @@
-
+
From 07fa2aa9971659bdbd0bfeff55e259dde0dc0c97 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Wed, 12 Nov 2025 14:41:00 +0800
Subject: [PATCH 28/50] update version.
---
.../AkazawaYun.Benchmark.Platform.csproj | 2 +-
.../MyBenchmarkReceptor.cs | 7 +------
.../AkazawaYun.Benchmark.Platform/Program.cs | 19 ++-----------------
3 files changed, 4 insertions(+), 24 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
index e43069a4338..f5d25a355e5 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs
index e6ed8e9c5b7..e79ab493524 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs
@@ -1,12 +1,10 @@
using AkazawaYun.PRO7;
-using System.Text;
namespace AkazawaYun.Benchmark.Platform;
class MyBenchmarkReceptor : akzWebReceptorBenchmark
{
readonly JsonModel JsonModel;
- readonly ReadOnlyMemory JsonContentLength;
public MyBenchmarkReceptor()
@@ -15,8 +13,6 @@ public MyBenchmarkReceptor()
{
message = "Hello, World!"
};
- akzJson.Text2Json(JsonModel, out ReadOnlyMemory json);
- JsonContentLength = Encoding.UTF8.GetBytes($"{json.Length}\r\n\r\n");
}
@@ -26,8 +22,7 @@ public override ValueTask SendPlaintext(IHttpContext http)
}
public override async ValueTask SendJson(IHttpContext http)
{
- await http.Slient.Send(DataJson_OnlyHeaderExceptContentLength);
- await http.Slient.Send(JsonContentLength);
+ await http.Slient.Send(DataJson_OnlyHeader);
akzJson.Text2Json(JsonModel, out ReadOnlyMemory json);
await http.Slient.Send(json);
}
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
index 269c16f48be..e2acab53351 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
@@ -5,31 +5,16 @@ namespace AkazawaYun.Benchmark.Platform;
class Program
{
static readonly akzWebBuilder builder;
- const int port = 8080;
static Program()
{
akzLog.War("AkazawaYun.PRO 平台压力测试特供版 ver2025.11.3, 只支持 /plaintext 和 /json");
- akzJson.Config(null, AotJsonContext.Default);
- builder = akzWebBuilder.Shared.SetPort(port).SetDev(true)
- .Add(() => null)
- .Add(() => new MyBenchmarkReceptor())
- .Add(() => new(port))
- .Build();
+ akzJson.Config(AotJsonContext.Default);
+ builder = akzWebBuilder.Shared.Build(new MyBenchmarkReceptor());
}
static async Task Main()
{
await builder.Launch();
-
- Console.WriteLine("[API SELF-TEST]");
- string url = $"http://localhost:{port}/plaintext";
- Console.WriteLine(" REQ URL :" + url);
- string res = await akzHttpClient.Shared.Get(url).FetchString();
- Console.WriteLine(" RES LEN :" + res.Length);
- Console.WriteLine(" RES BODY:" + res);
- Console.WriteLine("[OK, I WORK FINE]");
-
- akzLog.Default = akzLog.Output.NoneButWar;
await Task.Delay(-1);
}
}
From cd67ade9ad1aa2988b95ef75ad291577ccbc7591 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Wed, 12 Nov 2025 15:07:57 +0800
Subject: [PATCH 29/50] fix debug
---
.../AkazawaYun.Benchmark.Platform.csproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
index f5d25a355e5..cdf987fdeb8 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
@@ -15,7 +15,7 @@
-
+
From f5de7723cc367aac41697e3e451c3ad1736c437a Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Tue, 25 Nov 2025 23:44:35 +0800
Subject: [PATCH 30/50] update version.
---
.../AkazawaYun.Benchmark.Platform.csproj | 2 +-
.../AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs | 4 ++--
.../src/AkazawaYun.Benchmark.Platform/Program.cs | 8 ++++----
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
index cdf987fdeb8..d0653ea3370 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs
index e79ab493524..ca9bb7c1362 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs
@@ -2,7 +2,7 @@
namespace AkazawaYun.Benchmark.Platform;
-class MyBenchmarkReceptor : akzWebReceptorBenchmark
+class MyBenchmarkReceptor : akaWebReceptorBenchmark
{
readonly JsonModel JsonModel;
@@ -23,7 +23,7 @@ public override ValueTask SendPlaintext(IHttpContext http)
public override async ValueTask SendJson(IHttpContext http)
{
await http.Slient.Send(DataJson_OnlyHeader);
- akzJson.Text2Json(JsonModel, out ReadOnlyMemory json);
+ akaJson.Text2Json(JsonModel, out ReadOnlyMemory json);
await http.Slient.Send(json);
}
public override ValueTask SendDb(IHttpContext http)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
index e2acab53351..9be953769c4 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
@@ -4,13 +4,13 @@ namespace AkazawaYun.Benchmark.Platform;
class Program
{
- static readonly akzWebBuilder builder;
+ static readonly akaWebBuilder builder;
static Program()
{
- akzLog.War("AkazawaYun.PRO 平台压力测试特供版 ver2025.11.3, 只支持 /plaintext 和 /json");
- akzJson.Config(AotJsonContext.Default);
- builder = akzWebBuilder.Shared.Build(new MyBenchmarkReceptor());
+ akaLog.War("AkazawaYun.PRO 平台压力测试特供版 ver2025.11.3, 只支持 /plaintext 和 /json");
+ akaJson.Config(AotJsonContext.Default);
+ builder = akaWebBuilder.Shared.Build(new MyBenchmarkReceptor());
}
static async Task Main()
{
From d2ebc6e3182bac3ce5f0d1f68b79ea30de76fdc3 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Mon, 1 Dec 2025 23:21:01 +0800
Subject: [PATCH 31/50] update version.
---
.../AkazawaYun.Benchmark.Platform.csproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
index d0653ea3370..b2312be1bbb 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
@@ -15,7 +15,7 @@
-
+
From 6cf24a6369e7d52149d694a06b7559012d8ab702 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sun, 21 Dec 2025 22:03:26 +0800
Subject: [PATCH 32/50] update version to decrease send count.
---
.../AkazawaYun.Benchmark.Platform.csproj | 2 +-
.../MyBenchmarkReceptor.cs | 15 ++++++++-------
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
index b2312be1bbb..24101034fa2 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs
index ca9bb7c1362..2dd6f111fa6 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs
@@ -5,7 +5,7 @@ namespace AkazawaYun.Benchmark.Platform;
class MyBenchmarkReceptor : akaWebReceptorBenchmark
{
readonly JsonModel JsonModel;
-
+ readonly ReadOnlyMemory OnlyUsedForTestNonAllocJson;
public MyBenchmarkReceptor()
{
@@ -13,18 +13,19 @@ public MyBenchmarkReceptor()
{
message = "Hello, World!"
};
+ akaJson.Text2Json(JsonModel, out OnlyUsedForTestNonAllocJson);
}
- public override ValueTask SendPlaintext(IHttpContext http)
- {
- return base.SendPlaintext(http);
- }
public override async ValueTask SendJson(IHttpContext http)
{
await http.Slient.Send(DataJson_OnlyHeader);
- akaJson.Text2Json(JsonModel, out ReadOnlyMemory json);
- await http.Slient.Send(json);
+
+ //akaJson.Text2Json(JsonModel, out ReadOnlyMemory json);
+ //await http.Slient.Send(json);
+
+ // [WARN_2025.12.21] this code is temporaryly not creating new json for every request, only for test if use fixed json data to simulate non-alloc new byte-array !!!
+ await http.Slient.Send(OnlyUsedForTestNonAllocJson);
}
public override ValueTask SendDb(IHttpContext http)
{
From b305cc3c89220f25637e511fe0f68b0469d9b928 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Thu, 15 Jan 2026 00:25:59 +0800
Subject: [PATCH 33/50] update version.
---
.../AkazawaYun.Benchmark.Platform.csproj | 2 +-
.../AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs | 9 ++-------
.../src/AkazawaYun.Benchmark.Platform/Program.cs | 2 +-
3 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
index 24101034fa2..e1773f668f1 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs
index 2dd6f111fa6..e1d173f7f38 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/MyBenchmarkReceptor.cs
@@ -5,7 +5,6 @@ namespace AkazawaYun.Benchmark.Platform;
class MyBenchmarkReceptor : akaWebReceptorBenchmark
{
readonly JsonModel JsonModel;
- readonly ReadOnlyMemory OnlyUsedForTestNonAllocJson;
public MyBenchmarkReceptor()
{
@@ -13,7 +12,6 @@ public MyBenchmarkReceptor()
{
message = "Hello, World!"
};
- akaJson.Text2Json(JsonModel, out OnlyUsedForTestNonAllocJson);
}
@@ -21,11 +19,8 @@ public override async ValueTask SendJson(IHttpContext http)
{
await http.Slient.Send(DataJson_OnlyHeader);
- //akaJson.Text2Json(JsonModel, out ReadOnlyMemory json);
- //await http.Slient.Send(json);
-
- // [WARN_2025.12.21] this code is temporaryly not creating new json for every request, only for test if use fixed json data to simulate non-alloc new byte-array !!!
- await http.Slient.Send(OnlyUsedForTestNonAllocJson);
+ akaJson.Text2Json(JsonModel, out ReadOnlyMemory json);
+ await http.Slient.Send(json);
}
public override ValueTask SendDb(IHttpContext http)
{
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
index 9be953769c4..dd39350435f 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
@@ -8,7 +8,7 @@ class Program
static Program()
{
- akaLog.War("AkazawaYun.PRO 平台压力测试特供版 ver2025.11.3, 只支持 /plaintext 和 /json");
+ akaLog.War("AkazawaYun.PRO 平台压力测试特供版 ver2026.1.15, 只支持 /plaintext 和 /json");
akaJson.Config(AotJsonContext.Default);
builder = akaWebBuilder.Shared.Build(new MyBenchmarkReceptor());
}
From 7015266ad3a8fd219dd52713f1087201f82ea0a3 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sun, 18 Jan 2026 19:29:48 +0800
Subject: [PATCH 34/50] update api version.
---
.../AkazawaYun.Benchmark.WebApi.csproj | 2 +-
.../src/AkazawaYun.Benchmark.WebApi/Mysql.cs | 2 +-
.../AkazawaYun.Benchmark.WebApi/Program.cs | 34 +++++++++----------
.../WorldService.cs | 4 +--
4 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
index 452b23e493c..82fa9321ab4 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Mysql.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Mysql.cs
index 049af6e21f3..6ecde06eaa1 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Mysql.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Mysql.cs
@@ -4,7 +4,7 @@
namespace AkazawaYun.Benchmark.WebApi;
-class Mysql : akzDbFactory
+class Mysql : akaDbFactory
{
protected override DbConnection NewConnection() => new MySqlConnection(ConString);
}
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
index ab7234e6f72..7ffd39f9acb 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
@@ -7,23 +7,23 @@ namespace AkazawaYun.Benchmark.WebApi;
class Program : IPostFunctionWrapper
{
- static readonly akzWebBuilder builder;
- static readonly akzDbFactory mysql;
+ static readonly akaWebBuilder builder;
+ static readonly akaDbFactory mysql;
const int port = 8080;
static Program()
{
- akzJson.Config(null, AotJsonContext.Default);
- builder = akzWebBuilder.Shared.SetPort(port).SetDev()
- .Add(() => null)
+ akaJson.Config(null, AotJsonContext.Default);
+ builder = akaWebBuilder.Shared.SetPort(port).SetDev()
+ .Add(() => null)
.Build()
- .Config(lis => lis.LogLevel = 0)
- .Config(itc =>
+ .Config(lis => lis.LogLevel = 0)
+ .Config(itc =>
{
itc.ClearInterceptor();
- itc.AddInterceptor(new akzWebInterceptorAsPost());
+ itc.AddInterceptor(new akaWebInterceptorAsPost());
});
- mysql = new akzDbBuilderII()
+ mysql = new akaDbBuilderII()
.SetServer("tfb-database")
//.SetServer("localhost:3306")
.SetUser("benchmarkdbuser")
@@ -39,15 +39,15 @@ static async Task Main()
{
await builder.Launch();
- akzLog.Inf("[API SELF-TEST]");
+ akaLog.Inf("[API SELF-TEST]");
string url = $"http://localhost:{port}/plaintext";
- akzLog.Inf(" REQ URL :" + url);
- string res = await akzHttpClient.Shared.Get(url).FetchString();
- akzLog.Inf(" RES LEN :" + res.Length);
- akzLog.Inf(" RES BODY:" + res);
- akzLog.Inf("[OK, I WORK FINE]");
+ akaLog.Inf(" REQ URL :" + url);
+ string res = await akaHttpClient.Shared.Get(url).FetchString();
+ akaLog.Inf(" RES LEN :" + res.Length);
+ akaLog.Inf(" RES BODY:" + res);
+ akaLog.Inf("[OK, I WORK FINE]");
- akzLog.Default = akzLog.Output.NoneButWar;
+ akaLog.Default = akaLog.Output.NoneButWar;
await Task.Delay(-1);
}
@@ -102,7 +102,7 @@ static int ParseCount(string queries)
}
-public class akzWebInterceptorAsPost : WebInterceptor
+public class akaWebInterceptorAsPost : WebInterceptor
{
public override ValueTask Intercept(IHttpContext http)
{
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs
index 8f996368ac5..f94bd749ba5 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs
@@ -6,13 +6,13 @@ class WorldService
{
static readonly int @id;
// SELECT id, randomNumber FROM world WHERE id=@id ;
- public static readonly string SqlSelect = akzSqlinq.Query().Select(m => new
+ public static readonly string SqlSelect = akaSqlinq.Query().Select(m => new
{
m.id,
m.randomNumber,
}).Where(m => m.id == @id).Build();
// UPDATE world SET randomNumber=@randomNumber WHERE id=@id ;
- public static readonly string SqlUpdate = akzSqlinq.Update().Set(m => new()
+ public static readonly string SqlUpdate = akaSqlinq.Update().Set(m => new()
{
randomNumber = m.randomNumber,
}).Where(m => m.id == @id).Build();
From d9b94d52261b45cfcf02e9016b95e18dfcba3ad7 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sun, 18 Jan 2026 20:46:59 +0800
Subject: [PATCH 35/50] temperorly close db test to find fail reason..
---
frameworks/CSharp/akazawayun.pro/benchmark_config.json | 3 ---
1 file changed, 3 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index c9655a9f9c9..e316d80c500 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -8,9 +8,6 @@
"webserver": "akazawayun.pro",
"plaintext_url": "/plaintext",
"json_url": "/json",
- "db_url": "/db",
- "query_url": "/queries?queries=",
- "update_url": "/updates?queries=",
"port": 8080,
"classification": "Micro",
"approach": "Realistic",
From 6029eb8a12e06aeb4fb74a186d05d9b6f6990f43 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sun, 18 Jan 2026 20:52:20 +0800
Subject: [PATCH 36/50] try to update mysql version..??
---
frameworks/CSharp/akazawayun.pro/benchmark_config.json | 3 +++
.../AkazawaYun.Benchmark.WebApi.csproj | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index e316d80c500..c9655a9f9c9 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -8,6 +8,9 @@
"webserver": "akazawayun.pro",
"plaintext_url": "/plaintext",
"json_url": "/json",
+ "db_url": "/db",
+ "query_url": "/queries?queries=",
+ "update_url": "/updates?queries=",
"port": 8080,
"classification": "Micro",
"approach": "Realistic",
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
index 82fa9321ab4..04082d9b4c5 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
@@ -16,7 +16,7 @@
-
+
From 2005f74ad7cd401c03bd056c944538286ed81252 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sun, 18 Jan 2026 21:01:23 +0800
Subject: [PATCH 37/50] = =+ why db failed..
---
frameworks/CSharp/akazawayun.pro/benchmark_config.json | 1 -
.../AkazawaYun.Benchmark.WebApi.csproj | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index c9655a9f9c9..fdb4dbbfdf7 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -8,7 +8,6 @@
"webserver": "akazawayun.pro",
"plaintext_url": "/plaintext",
"json_url": "/json",
- "db_url": "/db",
"query_url": "/queries?queries=",
"update_url": "/updates?queries=",
"port": 8080,
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
index 04082d9b4c5..82fa9321ab4 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/AkazawaYun.Benchmark.WebApi.csproj
@@ -16,7 +16,7 @@
-
+
From 28cee0b26171f0a2cd754369c17c3a6db701945a Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sun, 18 Jan 2026 21:06:39 +0800
Subject: [PATCH 38/50] revert mysql version , 9.5.0 is still bad...
---
.../src/AkazawaYun.Benchmark.WebApi/Program.cs | 18 +++++-------------
1 file changed, 5 insertions(+), 13 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
index 7ffd39f9acb..a064ce243b1 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
@@ -2,6 +2,7 @@
using AkazawaYun.AOT;
using AkazawaYun.PRO7;
+using AkazawaYun.PRO7.AkazawaYunWebInterceptor;
namespace AkazawaYun.Benchmark.WebApi;
@@ -21,15 +22,15 @@ static Program()
.Config(itc =>
{
itc.ClearInterceptor();
- itc.AddInterceptor(new akaWebInterceptorAsPost());
+ itc.AddInterceptor(new akaWebInterceptorAllAsPost());
});
mysql = new akaDbBuilderII()
.SetServer("tfb-database")
- //.SetServer("localhost:3306")
.SetUser("benchmarkdbuser")
- //.SetUser("root")
.SetPwd("benchmarkdbpass")
- //.SetPwd("123456")
+ //.SetServer("localhost:3306")
+ //.SetUser("root")
+ //.SetPwd("1u23456")
.SetDatabase("hello_world")
.SetCharset()
.SetOtherset()
@@ -101,12 +102,3 @@ static int ParseCount(string queries)
}
}
-
-public class akaWebInterceptorAsPost : WebInterceptor
-{
- public override ValueTask Intercept(IHttpContext http)
- {
- http.Method = "POST";
- return InterceptorHttpRes.No();
- }
-}
From dc2725f467bbd717463181dcc36e7a6b7e4124e3 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sun, 18 Jan 2026 21:16:09 +0800
Subject: [PATCH 39/50] = =b test
---
.../akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
index a064ce243b1..2aa73dd6f3c 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
@@ -30,10 +30,10 @@ static Program()
.SetPwd("benchmarkdbpass")
//.SetServer("localhost:3306")
//.SetUser("root")
- //.SetPwd("1u23456")
+ //.SetPwd("123456")
.SetDatabase("hello_world")
.SetCharset()
- .SetOtherset()
+ .SetOtherset("Pooling=true;MaximumPoolSize=32767;SslMode=none;AllowPublicKeyRetrieval=true;")
.Build();
}
static async Task Main()
From 41c001433b2aa50188858416630ec86ed0191271 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sun, 18 Jan 2026 21:22:12 +0800
Subject: [PATCH 40/50] yahari...db-con-pool is full!!!....btw add LIMIT into
sql.
---
.../AkazawaYun.Benchmark.WebApi/WorldService.cs | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs
index f94bd749ba5..c68670ff8d9 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs
@@ -5,13 +5,13 @@ namespace AkazawaYun.Benchmark.WebApi;
class WorldService
{
static readonly int @id;
- // SELECT id, randomNumber FROM world WHERE id=@id ;
- public static readonly string SqlSelect = akaSqlinq.Query().Select(m => new
- {
- m.id,
- m.randomNumber,
- }).Where(m => m.id == @id).Build();
- // UPDATE world SET randomNumber=@randomNumber WHERE id=@id ;
+ public static readonly string SqlSelect = "SELECT id, randomNumber FROM world WHERE id=@id LIMIT 1 ;";
+ //public static readonly string SqlSelect = akaSqlinq.Query().Select(m => new
+ //{
+ // m.id,
+ // m.randomNumber,
+ //}).Where(m => m.id == @id).Build();
+ //public static readonly string SqlUpdate = "UPDATE world SET randomNumber=@randomNumber WHERE id=@id ;";
public static readonly string SqlUpdate = akaSqlinq.Update().Set(m => new()
{
randomNumber = m.randomNumber,
From 4feeede3bd8554a7083acec80abcdbcf052314d6 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sun, 18 Jan 2026 21:44:55 +0800
Subject: [PATCH 41/50] try to decrease extra query.?
---
.../src/AkazawaYun.Benchmark.WebApi/Program.cs | 14 +++++++-------
.../WorldService.cs | 18 +++++++++---------
2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
index 2aa73dd6f3c..aa4235a6e1b 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
@@ -62,8 +62,8 @@ static async Task Main()
//[WebFunctionAopTry]
public static async Task db()
{
- await using IDb con = await mysql.Connect();
- world obj = await WorldService.GetRandomWorld(con);
+ //await using IDb con = await mysql.Connect();
+ world obj = await WorldService.GetRandomWorld(mysql);
return obj;
}
//[WebFunctionAopTry]
@@ -71,8 +71,8 @@ public static async Task queries(string queries)
{
int count = ParseCount(queries);
- await using IDb con = await mysql.Connect();
- world[] lst = await WorldService.GetWorlds(con, count);
+ //await using IDb con = await mysql.Connect();
+ world[] lst = await WorldService.GetWorlds(mysql, count);
return lst;
}
//[WebFunctionAopTry]
@@ -80,13 +80,13 @@ public static async Task updates(string queries)
{
int count = ParseCount(queries);
- await using IDb con = await mysql.Connect();
- world[] lst = await WorldService.GetWorlds(con, count);
+ //await using IDb con = await mysql.Connect();
+ world[] lst = await WorldService.GetWorlds(mysql, count);
foreach (world obj in lst)
obj.randomNumber = Random.Shared.Next(1, 10001);
- await WorldService.SaveWorlds(con, lst);
+ await WorldService.SaveWorlds(mysql, lst);
return lst;
}
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs
index c68670ff8d9..ecb448f0ebd 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs
@@ -5,12 +5,12 @@ namespace AkazawaYun.Benchmark.WebApi;
class WorldService
{
static readonly int @id;
- public static readonly string SqlSelect = "SELECT id, randomNumber FROM world WHERE id=@id LIMIT 1 ;";
- //public static readonly string SqlSelect = akaSqlinq.Query().Select(m => new
- //{
- // m.id,
- // m.randomNumber,
- //}).Where(m => m.id == @id).Build();
+ //public static readonly string SqlSelect = "SELECT id, randomNumber FROM world WHERE id=@id LIMIT 1 ;";
+ public static readonly string SqlSelect = akaSqlinq.Query().Select(m => new
+ {
+ m.id,
+ m.randomNumber,
+ }).Where(m => m.id == @id).Build();
//public static readonly string SqlUpdate = "UPDATE world SET randomNumber=@randomNumber WHERE id=@id ;";
public static readonly string SqlUpdate = akaSqlinq.Update().Set(m => new()
{
@@ -18,7 +18,7 @@ class WorldService
}).Where(m => m.id == @id).Build();
- public static async Task GetRandomWorld(IDb con, IDictionary? shared = null)
+ public static async Task GetRandomWorld(akaDbFactory con, IDictionary? shared = null)
{
int id = Random.Shared.Next(1, 10001);
shared ??= new DpSingleBuilder().Build();
@@ -27,7 +27,7 @@ public static async Task GetRandomWorld(IDb con, IDictionary GetWorlds(IDb con, int count)
+ public static async Task GetWorlds(akaDbFactory con, int count)
{
world[] lst = new world[count];
var dp = new DpSingleBuilder().Build();
@@ -38,7 +38,7 @@ public static async Task GetWorlds(IDb con, int count)
}
return lst;
}
- public static async Task SaveWorlds(IDb con, world[] lst)
+ public static async Task SaveWorlds(akaDbFactory con, world[] lst)
{
await con.Execute(SqlUpdate, lst.ToDp());
}
From 37dea0f7d6929590f691233d66f73b751b311c04 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sun, 18 Jan 2026 21:50:13 +0800
Subject: [PATCH 42/50] give up...revert
why ?:
WARN for http://tfb-server:8080/queries?queries=20
11432 executed queries in the database instead of 10240 expected. This number is excessively high.
---
.../src/AkazawaYun.Benchmark.WebApi/Program.cs | 14 +++++++-------
.../AkazawaYun.Benchmark.WebApi/WorldService.cs | 6 +++---
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
index aa4235a6e1b..2aa73dd6f3c 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
@@ -62,8 +62,8 @@ static async Task Main()
//[WebFunctionAopTry]
public static async Task db()
{
- //await using IDb con = await mysql.Connect();
- world obj = await WorldService.GetRandomWorld(mysql);
+ await using IDb con = await mysql.Connect();
+ world obj = await WorldService.GetRandomWorld(con);
return obj;
}
//[WebFunctionAopTry]
@@ -71,8 +71,8 @@ public static async Task queries(string queries)
{
int count = ParseCount(queries);
- //await using IDb con = await mysql.Connect();
- world[] lst = await WorldService.GetWorlds(mysql, count);
+ await using IDb con = await mysql.Connect();
+ world[] lst = await WorldService.GetWorlds(con, count);
return lst;
}
//[WebFunctionAopTry]
@@ -80,13 +80,13 @@ public static async Task updates(string queries)
{
int count = ParseCount(queries);
- //await using IDb con = await mysql.Connect();
- world[] lst = await WorldService.GetWorlds(mysql, count);
+ await using IDb con = await mysql.Connect();
+ world[] lst = await WorldService.GetWorlds(con, count);
foreach (world obj in lst)
obj.randomNumber = Random.Shared.Next(1, 10001);
- await WorldService.SaveWorlds(mysql, lst);
+ await WorldService.SaveWorlds(con, lst);
return lst;
}
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs
index ecb448f0ebd..83f11c89259 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/WorldService.cs
@@ -18,7 +18,7 @@ class WorldService
}).Where(m => m.id == @id).Build();
- public static async Task GetRandomWorld(akaDbFactory con, IDictionary? shared = null)
+ public static async Task GetRandomWorld(IDb con, IDictionary? shared = null)
{
int id = Random.Shared.Next(1, 10001);
shared ??= new DpSingleBuilder().Build();
@@ -27,7 +27,7 @@ public static async Task GetRandomWorld(akaDbFactory con, IDictionary GetWorlds(akaDbFactory con, int count)
+ public static async Task GetWorlds(IDb con, int count)
{
world[] lst = new world[count];
var dp = new DpSingleBuilder().Build();
@@ -38,7 +38,7 @@ public static async Task GetWorlds(akaDbFactory con, int count)
}
return lst;
}
- public static async Task SaveWorlds(akaDbFactory con, world[] lst)
+ public static async Task SaveWorlds(IDb con, world[] lst)
{
await con.Execute(SqlUpdate, lst.ToDp());
}
From 17e8f3a92aed0d233f869a58d3a3182ee78074b9 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sun, 18 Jan 2026 21:57:09 +0800
Subject: [PATCH 43/50] someone was forgotten...e
---
frameworks/CSharp/akazawayun.pro/benchmark_config.json | 1 +
1 file changed, 1 insertion(+)
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index fdb4dbbfdf7..c9655a9f9c9 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -8,6 +8,7 @@
"webserver": "akazawayun.pro",
"plaintext_url": "/plaintext",
"json_url": "/json",
+ "db_url": "/db",
"query_url": "/queries?queries=",
"update_url": "/updates?queries=",
"port": 8080,
From ae55ff0e0f9ec6bfd2c42cbcc428d6395102e830 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Tue, 20 Jan 2026 20:43:13 +0800
Subject: [PATCH 44/50] split platform test.
---
.../akazawayun.pro/AkazawaYun.Benchmark.sln | 6 +++
frameworks/CSharp/akazawayun.pro/README.md | 3 +-
.../akazawayun.pro-core.dockerfile | 13 ++++++
.../akazawayun.pro/benchmark_config.json | 18 +++++++-
.../AkazawaYun.Benchmark.Core.csproj | 21 +++++++++
.../src/AkazawaYun.Benchmark.Core/Model.cs | 14 ++++++
.../MyBenchmarkReceptor.cs | 46 +++++++++++++++++++
.../src/AkazawaYun.Benchmark.Core/Program.cs | 20 ++++++++
.../AkazawaYun.Benchmark.Platform.csproj | 2 +-
.../AkazawaYun.Benchmark.Platform/Program.cs | 25 +++++++++-
.../AkazawaYun.Benchmark.WebApi/Program.cs | 8 ++--
11 files changed, 167 insertions(+), 9 deletions(-)
create mode 100644 frameworks/CSharp/akazawayun.pro/akazawayun.pro-core.dockerfile
create mode 100644 frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/AkazawaYun.Benchmark.Core.csproj
create mode 100644 frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/Model.cs
create mode 100644 frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/MyBenchmarkReceptor.cs
create mode 100644 frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/Program.cs
diff --git a/frameworks/CSharp/akazawayun.pro/AkazawaYun.Benchmark.sln b/frameworks/CSharp/akazawayun.pro/AkazawaYun.Benchmark.sln
index 66c1850c7f3..36906654935 100644
--- a/frameworks/CSharp/akazawayun.pro/AkazawaYun.Benchmark.sln
+++ b/frameworks/CSharp/akazawayun.pro/AkazawaYun.Benchmark.sln
@@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AkazawaYun.Benchmark.WebApi
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AkazawaYun.Benchmark.Platform", "src\AkazawaYun.Benchmark.Platform\AkazawaYun.Benchmark.Platform.csproj", "{E7CA7DF7-F4AB-47EC-BF2B-1148058CDF43}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AkazawaYun.Benchmark.Core", "src\AkazawaYun.Benchmark.Core\AkazawaYun.Benchmark.Core.csproj", "{2956CEE4-699F-7365-D58D-B017FB03C347}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -21,6 +23,10 @@ Global
{E7CA7DF7-F4AB-47EC-BF2B-1148058CDF43}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E7CA7DF7-F4AB-47EC-BF2B-1148058CDF43}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E7CA7DF7-F4AB-47EC-BF2B-1148058CDF43}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2956CEE4-699F-7365-D58D-B017FB03C347}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2956CEE4-699F-7365-D58D-B017FB03C347}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2956CEE4-699F-7365-D58D-B017FB03C347}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2956CEE4-699F-7365-D58D-B017FB03C347}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/frameworks/CSharp/akazawayun.pro/README.md b/frameworks/CSharp/akazawayun.pro/README.md
index 0388851ec6a..46d1b4817a2 100644
--- a/frameworks/CSharp/akazawayun.pro/README.md
+++ b/frameworks/CSharp/akazawayun.pro/README.md
@@ -1 +1,2 @@
-AkazawaYun.PRO(https://akazawayun.cn/#akzLearning#%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8)
+AkazawaYun.PRO is the happiest web framework in the universe.
+Readme(https://akazawayun.cn/#akzLearning#%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8)
diff --git a/frameworks/CSharp/akazawayun.pro/akazawayun.pro-core.dockerfile b/frameworks/CSharp/akazawayun.pro/akazawayun.pro-core.dockerfile
new file mode 100644
index 00000000000..db44452d72a
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/akazawayun.pro-core.dockerfile
@@ -0,0 +1,13 @@
+# 生成
+FROM mcr.microsoft.com/dotnet/sdk:9.0 AS publish
+WORKDIR /app
+COPY src/AkazawaYun.Benchmark.Core .
+RUN dotnet publish -c Release -o /app/publish
+
+# 运行
+FROM mcr.microsoft.com/dotnet/sdk:9.0 AS runtime
+WORKDIR /app
+COPY --from=publish /app/publish .
+
+EXPOSE 8080
+ENTRYPOINT ["dotnet", "AkazawaYun.Benchmark.Core.dll"]
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index c9655a9f9c9..59797611aa1 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -38,7 +38,23 @@
"os": "Linux",
"database_os": "Linux",
"notes": ""
+ },
+ "core": {
+ "display_name": "akazawayun.pro [core]",
+ "framework": "akazawayun.pro",
+ "webserver": "akazawayun.pro",
+ "plaintext_url": "/plaintext",
+ "json_url": "/json",
+ "port": 8080,
+ "classification": "Platform",
+ "approach": "Realistic",
+ "platform": ".NET",
+ "language": "C#",
+ "flavor": "CoreCLR",
+ "os": "Linux",
+ "database_os": "Linux",
+ "notes": ""
}
}
]
-}
+}
\ No newline at end of file
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/AkazawaYun.Benchmark.Core.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/AkazawaYun.Benchmark.Core.csproj
new file mode 100644
index 00000000000..e1773f668f1
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/AkazawaYun.Benchmark.Core.csproj
@@ -0,0 +1,21 @@
+
+
+
+ Exe
+ net9.0
+ enable
+ enable
+ true
+ false
+
+
+
+ true
+ true
+
+
+
+
+
+
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/Model.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/Model.cs
new file mode 100644
index 00000000000..574123c3697
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/Model.cs
@@ -0,0 +1,14 @@
+#pragma warning disable IDE1006,CS8981
+using System.Text.Json.Serialization;
+
+namespace AkazawaYun.Benchmark.Platform;
+
+
+[JsonSerializable(typeof(JsonModel))]
+public partial class AotJsonContext : JsonSerializerContext { }
+
+
+public class JsonModel
+{
+ public string? message { get; set; }
+}
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/MyBenchmarkReceptor.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/MyBenchmarkReceptor.cs
new file mode 100644
index 00000000000..e1d173f7f38
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/MyBenchmarkReceptor.cs
@@ -0,0 +1,46 @@
+using AkazawaYun.PRO7;
+
+namespace AkazawaYun.Benchmark.Platform;
+
+class MyBenchmarkReceptor : akaWebReceptorBenchmark
+{
+ readonly JsonModel JsonModel;
+
+ public MyBenchmarkReceptor()
+ {
+ JsonModel = new()
+ {
+ message = "Hello, World!"
+ };
+ }
+
+
+ public override async ValueTask SendJson(IHttpContext http)
+ {
+ await http.Slient.Send(DataJson_OnlyHeader);
+
+ akaJson.Text2Json(JsonModel, out ReadOnlyMemory json);
+ await http.Slient.Send(json);
+ }
+ public override ValueTask SendDb(IHttpContext http)
+ {
+ throw new NotImplementedException();
+ }
+ public override ValueTask SendQueries(IHttpContext http)
+ {
+ throw new NotImplementedException();
+ }
+ public override ValueTask SendUpdates(IHttpContext http)
+ {
+ throw new NotImplementedException();
+ }
+ public override ValueTask SendCachedQueries(IHttpContext http)
+ {
+ throw new NotImplementedException();
+ }
+ public override ValueTask SendFortunes(IHttpContext http)
+ {
+ throw new NotImplementedException();
+ }
+
+}
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/Program.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/Program.cs
new file mode 100644
index 00000000000..dd39350435f
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/Program.cs
@@ -0,0 +1,20 @@
+using AkazawaYun.PRO7;
+
+namespace AkazawaYun.Benchmark.Platform;
+
+class Program
+{
+ static readonly akaWebBuilder builder;
+
+ static Program()
+ {
+ akaLog.War("AkazawaYun.PRO 平台压力测试特供版 ver2026.1.15, 只支持 /plaintext 和 /json");
+ akaJson.Config(AotJsonContext.Default);
+ builder = akaWebBuilder.Shared.Build(new MyBenchmarkReceptor());
+ }
+ static async Task Main()
+ {
+ await builder.Launch();
+ await Task.Delay(-1);
+ }
+}
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
index e1773f668f1..a46900d8a8d 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/AkazawaYun.Benchmark.Platform.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
index dd39350435f..92b319622bd 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Platform/Program.cs
@@ -1,20 +1,41 @@
using AkazawaYun.PRO7;
+using AkazawaYun.PRO7.AkazawaYunWebInterceptor;
namespace AkazawaYun.Benchmark.Platform;
class Program
{
+ const int port = 8080;
static readonly akaWebBuilder builder;
static Program()
{
akaLog.War("AkazawaYun.PRO 平台压力测试特供版 ver2026.1.15, 只支持 /plaintext 和 /json");
- akaJson.Config(AotJsonContext.Default);
- builder = akaWebBuilder.Shared.Build(new MyBenchmarkReceptor());
+ akaJson.Config(null, AotJsonContext.Default);
+ builder = akaWebBuilder.Shared.SetPort(port).SetDev(true)
+ .Add(() => new MyBenchmarkReceptor())
+ .Add(() => new(port))
+ .Build()
+ .Config(lis => lis.LogLevel = 0)
+ .Config(rcp =>
+ {
+ rcp.ClearInterceptor();
+ rcp.AddInterceptor(new akaWebInterceptorAllAsPost());
+ });
}
static async Task Main()
{
await builder.Launch();
+
+ akaLog.Inf("[API SELF-TEST]");
+ string url = $"http://localhost:{port}/plaintext";
+ akaLog.Inf(" REQ URL :" + url);
+ string res = await akaHttpClient.Shared.Get(url).FetchString();
+ akaLog.Inf(" RES LEN :" + res.Length);
+ akaLog.Inf(" RES BODY:" + res);
+ akaLog.Inf("[OK, I WORK FINE]");
+
+ akaLog.Default = akaLog.Output.NoneButWar;
await Task.Delay(-1);
}
}
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
index 2aa73dd6f3c..75cc348a0c7 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.WebApi/Program.cs
@@ -8,9 +8,9 @@ namespace AkazawaYun.Benchmark.WebApi;
class Program : IPostFunctionWrapper
{
+ const int port = 8080;
static readonly akaWebBuilder builder;
static readonly akaDbFactory mysql;
- const int port = 8080;
static Program()
{
@@ -19,10 +19,10 @@ static Program()
.Add(() => null)
.Build()
.Config(lis => lis.LogLevel = 0)
- .Config(itc =>
+ .Config(rcp =>
{
- itc.ClearInterceptor();
- itc.AddInterceptor(new akaWebInterceptorAllAsPost());
+ rcp.ClearInterceptor();
+ rcp.AddInterceptor(new akaWebInterceptorAllAsPost());
});
mysql = new akaDbBuilderII()
.SetServer("tfb-database")
From d33c8dbd5d410a3674d942ad1aadad83fdf30093 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Wed, 28 Jan 2026 21:17:12 +0800
Subject: [PATCH 45/50] update: json zero-alloc
---
.../AkazawaYun.Benchmark.Core.csproj | 2 +-
.../src/AkazawaYun.Benchmark.Core/MyBenchmarkReceptor.cs | 4 +---
.../akazawayun.pro/src/AkazawaYun.Benchmark.Core/Program.cs | 2 +-
3 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/AkazawaYun.Benchmark.Core.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/AkazawaYun.Benchmark.Core.csproj
index e1773f668f1..eab3b205bcd 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/AkazawaYun.Benchmark.Core.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/AkazawaYun.Benchmark.Core.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/MyBenchmarkReceptor.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/MyBenchmarkReceptor.cs
index e1d173f7f38..ef8e022eb63 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/MyBenchmarkReceptor.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/MyBenchmarkReceptor.cs
@@ -18,9 +18,7 @@ public MyBenchmarkReceptor()
public override async ValueTask SendJson(IHttpContext http)
{
await http.Slient.Send(DataJson_OnlyHeader);
-
- akaJson.Text2Json(JsonModel, out ReadOnlyMemory json);
- await http.Slient.Send(json);
+ akaJson.Text2Json(JsonModel, http.Slient.JsonSender);
}
public override ValueTask SendDb(IHttpContext http)
{
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/Program.cs b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/Program.cs
index dd39350435f..3a0f794ad2b 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/Program.cs
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/Program.cs
@@ -8,7 +8,7 @@ class Program
static Program()
{
- akaLog.War("AkazawaYun.PRO 平台压力测试特供版 ver2026.1.15, 只支持 /plaintext 和 /json");
+ akaLog.War("AkazawaYun.PRO 平台压力测试特供版 ver2026.1.28, 只支持 /plaintext 和 /json");
akaJson.Config(AotJsonContext.Default);
builder = akaWebBuilder.Shared.Build(new MyBenchmarkReceptor());
}
From 9a39c736abfebe375da395233437c5b3a51ca0fc Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sat, 31 Jan 2026 15:43:13 +0800
Subject: [PATCH 46/50] add aot test.
---
.../akazawayun.pro-core-aot.dockerfile | 13 +++++++++++++
.../CSharp/akazawayun.pro/benchmark_config.json | 16 ++++++++++++++++
2 files changed, 29 insertions(+)
create mode 100644 frameworks/CSharp/akazawayun.pro/akazawayun.pro-core-aot.dockerfile
diff --git a/frameworks/CSharp/akazawayun.pro/akazawayun.pro-core-aot.dockerfile b/frameworks/CSharp/akazawayun.pro/akazawayun.pro-core-aot.dockerfile
new file mode 100644
index 00000000000..6019f4f228d
--- /dev/null
+++ b/frameworks/CSharp/akazawayun.pro/akazawayun.pro-core-aot.dockerfile
@@ -0,0 +1,13 @@
+# 生成
+FROM mcr.microsoft.com/dotnet/sdk:9.0 AS publish
+WORKDIR /app
+COPY src/AkazawaYun.Benchmark.Core .
+RUN dotnet publish -c Release -o /app/publish /p:PublishAot=true /p:OptimizationPreference=Speed /p:GarbageCollectionAdaptationMode=0
+
+# 运行
+FROM mcr.microsoft.com/dotnet/sdk:9.0 AS runtime
+WORKDIR /app
+COPY --from=publish /app/publish .
+
+EXPOSE 8080
+ENTRYPOINT ["dotnet", "AkazawaYun.Benchmark.Core.dll"]
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index 59797611aa1..5c74460b7a1 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -54,6 +54,22 @@
"os": "Linux",
"database_os": "Linux",
"notes": ""
+ },
+ "core-aot": {
+ "display_name": "akazawayun.pro [core-aot]",
+ "framework": "akazawayun.pro",
+ "webserver": "akazawayun.pro",
+ "plaintext_url": "/plaintext",
+ "json_url": "/json",
+ "port": 8080,
+ "classification": "Platform",
+ "approach": "Realistic",
+ "platform": ".NET",
+ "language": "C#",
+ "flavor": "CoreCLR",
+ "os": "Linux",
+ "database_os": "Linux",
+ "notes": ""
}
}
]
From 7b2bc6c1566a3ef1296891adbc70bc658a70fa24 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sat, 31 Jan 2026 15:54:07 +0800
Subject: [PATCH 47/50] add aot apt-get
---
.../CSharp/akazawayun.pro/akazawayun.pro-core-aot.dockerfile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/frameworks/CSharp/akazawayun.pro/akazawayun.pro-core-aot.dockerfile b/frameworks/CSharp/akazawayun.pro/akazawayun.pro-core-aot.dockerfile
index 6019f4f228d..b9229ccbbf4 100644
--- a/frameworks/CSharp/akazawayun.pro/akazawayun.pro-core-aot.dockerfile
+++ b/frameworks/CSharp/akazawayun.pro/akazawayun.pro-core-aot.dockerfile
@@ -1,5 +1,7 @@
# 生成
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS publish
+RUN apt-get update
+RUN apt-get -yqq install clang zlib1g-dev
WORKDIR /app
COPY src/AkazawaYun.Benchmark.Core .
RUN dotnet publish -c Release -o /app/publish /p:PublishAot=true /p:OptimizationPreference=Speed /p:GarbageCollectionAdaptationMode=0
From 9ce44efeee75d7180d8e532d8f1926db40ad6a27 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Sat, 31 Jan 2026 16:00:42 +0800
Subject: [PATCH 48/50] modify entrypoint
---
.../CSharp/akazawayun.pro/akazawayun.pro-core-aot.dockerfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frameworks/CSharp/akazawayun.pro/akazawayun.pro-core-aot.dockerfile b/frameworks/CSharp/akazawayun.pro/akazawayun.pro-core-aot.dockerfile
index b9229ccbbf4..ae0991fce64 100644
--- a/frameworks/CSharp/akazawayun.pro/akazawayun.pro-core-aot.dockerfile
+++ b/frameworks/CSharp/akazawayun.pro/akazawayun.pro-core-aot.dockerfile
@@ -12,4 +12,4 @@ WORKDIR /app
COPY --from=publish /app/publish .
EXPOSE 8080
-ENTRYPOINT ["dotnet", "AkazawaYun.Benchmark.Core.dll"]
+ENTRYPOINT ["./AkazawaYun.Benchmark.Core"]
From 14d22ccabe6276d063f91906112f22e715bc37a3 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Fri, 13 Feb 2026 20:36:26 +0800
Subject: [PATCH 49/50] update version.
---
.../AkazawaYun.Benchmark.Core/AkazawaYun.Benchmark.Core.csproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/AkazawaYun.Benchmark.Core.csproj b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/AkazawaYun.Benchmark.Core.csproj
index eab3b205bcd..745a6bd4d69 100644
--- a/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/AkazawaYun.Benchmark.Core.csproj
+++ b/frameworks/CSharp/akazawayun.pro/src/AkazawaYun.Benchmark.Core/AkazawaYun.Benchmark.Core.csproj
@@ -15,7 +15,7 @@
-
+
From 8b4a439db4436c547df44d0515c414233c40b415 Mon Sep 17 00:00:00 2001
From: AkazawaYun <408193813@qq.com>
Date: Fri, 13 Feb 2026 23:50:53 +0800
Subject: [PATCH 50/50] add maintainer.
---
frameworks/CSharp/akazawayun.pro/benchmark_config.json | 3 +++
1 file changed, 3 insertions(+)
diff --git a/frameworks/CSharp/akazawayun.pro/benchmark_config.json b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
index 5c74460b7a1..f8c262d74e0 100644
--- a/frameworks/CSharp/akazawayun.pro/benchmark_config.json
+++ b/frameworks/CSharp/akazawayun.pro/benchmark_config.json
@@ -1,5 +1,8 @@
{
"framework": "akazawayun.pro",
+ "maintainers": [
+ "AkazawaYun"
+ ],
"tests": [
{
"default": {