diff --git a/frameworks/effinitive/app/Models.cs b/frameworks/effinitive/app/Models.cs index 1b7eeb599..a841b7acd 100644 --- a/frameworks/effinitive/app/Models.cs +++ b/frameworks/effinitive/app/Models.cs @@ -34,8 +34,8 @@ public sealed class ProcessedItem public double Price { get; set; } public int Quantity { get; set; } public bool Active { get; set; } - public List Tags { get; set; } = []; - public RatingInfo Rating { get; set; } = new(); + public List Tags { get; set; } = null!; + public RatingInfo Rating { get; set; } = null!; public double Total { get; set; } } diff --git a/frameworks/effinitive/app/Tests/Baseline.cs b/frameworks/effinitive/app/Tests/Baseline.cs index a181d0558..043cbc405 100644 --- a/frameworks/effinitive/app/Tests/Baseline.cs +++ b/frameworks/effinitive/app/Tests/Baseline.cs @@ -1,4 +1,3 @@ -using System.Text; using EffinitiveFramework.Core; using EffinitiveFramework.Core.Http; @@ -29,23 +28,18 @@ public override ValueTask HandleAsync(CancellationToken ct) } } -public class BaselinePostEndpoint : NoRequestEndpointBase +public class BaselinePostEndpoint : EndpointBase { protected override string Method => "POST"; protected override string Route => "/baseline11"; protected override string ContentType => "text/plain"; - public override ValueTask HandleAsync(CancellationToken ct) + public override ValueTask HandleAsync(string body, CancellationToken ct = default) { var query = HttpContext?.Query ?? QueryCollection.Empty; int a = query.GetInt("a"); int b = query.GetInt("b"); - int bodyVal = 0; - if (HttpContext?.Body.Length > 0) - { - var bodyStr = Encoding.UTF8.GetString(HttpContext.Body.Span).Trim(); - int.TryParse(bodyStr, out bodyVal); - } + int.TryParse(body.Trim(), out var bodyVal); return ValueTask.FromResult((a + b + bodyVal).ToString()); } } diff --git a/frameworks/effinitive/app/Tests/Json.cs b/frameworks/effinitive/app/Tests/Json.cs index 3fad33232..50e779ce7 100644 --- a/frameworks/effinitive/app/Tests/Json.cs +++ b/frameworks/effinitive/app/Tests/Json.cs @@ -4,7 +4,9 @@ namespace effinitive.Tests; -public class JsonEndpoint : NoRequestEndpointBase> +// Returns byte[] so SerializeResponse short-circuits into the pre-serialized path, +// bypassing reflection-based JsonSerializerOptions entirely. +public class JsonEndpoint : NoRequestEndpointBase { protected override string Method => "GET"; protected override string Route => "/json/{count}"; @@ -24,7 +26,7 @@ private static DatasetItem[] LoadItems() return [.. items]; } - public override ValueTask> HandleAsync(CancellationToken ct) + public override ValueTask HandleAsync(CancellationToken ct) { var query = HttpContext?.Query ?? QueryCollection.Empty; int count = int.TryParse(HttpContext?.RouteValues?["count"]?.ToString(), out var c) ? c : AllItems.Length; @@ -44,6 +46,8 @@ public override ValueTask> HandleAsync(CancellationTo }; } - return ValueTask.FromResult(new ResponseDto(processed, take)); + var dto = new ResponseDto(processed, take); + return ValueTask.FromResult( + JsonSerializer.SerializeToUtf8Bytes(dto, AppJsonContext.Default.ResponseDtoProcessedItem)); } } diff --git a/frameworks/effinitive/app/Tests/Upload.cs b/frameworks/effinitive/app/Tests/Upload.cs index 71b844dc9..489b6acef 100644 --- a/frameworks/effinitive/app/Tests/Upload.cs +++ b/frameworks/effinitive/app/Tests/Upload.cs @@ -1,4 +1,3 @@ -using System.Buffers; using EffinitiveFramework.Core; using EffinitiveFramework.Core.Http; @@ -11,28 +10,5 @@ public class UploadEndpoint : NoRequestEndpointBase protected override string ContentType => "text/plain"; public override async ValueTask HandleAsync(CancellationToken ct) - { - long size = 0; - - if (HttpContext?.BodyDeferred == true && HttpContext.BodyStream != null) - { - var buffer = ArrayPool.Shared.Rent(65536); - try - { - int read; - while ((read = await HttpContext.BodyStream.ReadAsync(buffer.AsMemory(0, 65536), ct)) > 0) - size += read; - } - finally - { - ArrayPool.Shared.Return(buffer); - } - } - else - { - size = HttpContext?.Body.Length ?? 0; - } - - return size.ToString(); - } + => (await HttpContext!.CountBodyBytesAsync(ct)).ToString(); } diff --git a/frameworks/effinitive/app/effinitive-arena.csproj b/frameworks/effinitive/app/effinitive-arena.csproj index 91d77a275..4731a592c 100644 --- a/frameworks/effinitive/app/effinitive-arena.csproj +++ b/frameworks/effinitive/app/effinitive-arena.csproj @@ -11,7 +11,7 @@ - + diff --git a/frameworks/effinitive/meta.json b/frameworks/effinitive/meta.json index 7ca6f3606..40d7f48ce 100644 --- a/frameworks/effinitive/meta.json +++ b/frameworks/effinitive/meta.json @@ -12,6 +12,7 @@ "pipelined", "limited-conn", "json", + "json-comp", "upload", "api-4", "api-16", diff --git a/site/data/api-16-1024.json b/site/data/api-16-1024.json index 1ceef798c..61c6da921 100644 --- a/site/data/api-16-1024.json +++ b/site/data/api-16-1024.json @@ -207,28 +207,28 @@ { "framework": "effinitive", "language": "C#", - "rps": 78773, - "avg_latency": "11.18ms", - "p99_latency": "64.20ms", - "cpu": "1545.2%", - "memory": "314MiB", + "rps": 93625, + "avg_latency": "9.28ms", + "p99_latency": "55.00ms", + "cpu": "1506.2%", + "memory": "348MiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "404.54MB/s", - "input_bw": "4.43MB/s", - "reconnects": 236210, - "status_2xx": 1181609, + "bandwidth": "480.87MB/s", + "input_bw": "5.27MB/s", + "reconnects": 280741, + "status_2xx": 1404389, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0, - "tpl_baseline": 443394, - "tpl_json": 442944, + "tpl_baseline": 526887, + "tpl_json": 526984, "tpl_db": 0, "tpl_upload": 0, "tpl_static": 0, - "tpl_async_db": 295270 + "tpl_async_db": 350515 }, { "framework": "elysia", diff --git a/site/data/api-4-256.json b/site/data/api-4-256.json index 5a8916090..86343c7d3 100644 --- a/site/data/api-4-256.json +++ b/site/data/api-4-256.json @@ -207,28 +207,28 @@ { "framework": "effinitive", "language": "C#", - "rps": 46030, - "avg_latency": "3.81ms", - "p99_latency": "20.40ms", - "cpu": "394.3%", - "memory": "280MiB", + "rps": 36309, + "avg_latency": "5.55ms", + "p99_latency": "28.10ms", + "cpu": "397.3%", + "memory": "279MiB", "connections": 256, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "236.42MB/s", - "input_bw": "2.59MB/s", - "reconnects": 138067, - "status_2xx": 690460, + "bandwidth": "186.50MB/s", + "input_bw": "2.04MB/s", + "reconnects": 108919, + "status_2xx": 544649, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0, - "tpl_baseline": 259043, - "tpl_json": 259012, + "tpl_baseline": 204327, + "tpl_json": 204344, "tpl_db": 0, "tpl_upload": 0, "tpl_static": 0, - "tpl_async_db": 172404 + "tpl_async_db": 135978 }, { "framework": "elysia", diff --git a/site/data/async-db-1024.json b/site/data/async-db-1024.json index 6cfea7b24..66aaa11f2 100644 --- a/site/data/async-db-1024.json +++ b/site/data/async-db-1024.json @@ -159,19 +159,19 @@ { "framework": "effinitive", "language": "C#", - "rps": 166493, - "avg_latency": "5.59ms", + "rps": 165916, + "avg_latency": "5.70ms", "p99_latency": "13.50ms", - "cpu": "3522.6%", - "memory": "568MiB", + "cpu": "3420.7%", + "memory": "560MiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "653.71MB/s", - "input_bw": "11.11MB/s", - "reconnects": 66484, - "status_2xx": 1664936, + "bandwidth": "651.47MB/s", + "input_bw": "11.08MB/s", + "reconnects": 66221, + "status_2xx": 1659162, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/baseline-4096.json b/site/data/baseline-4096.json index 91cdcc356..20d92c448 100644 --- a/site/data/baseline-4096.json +++ b/site/data/baseline-4096.json @@ -257,19 +257,19 @@ { "framework": "effinitive", "language": "C#", - "rps": 1435736, - "avg_latency": "2.82ms", - "p99_latency": "6.43ms", - "cpu": "5790.0%", - "memory": "1.6GiB", + "rps": 1405011, + "avg_latency": "2.88ms", + "p99_latency": "7.29ms", + "cpu": "5874.5%", + "memory": "1.7GiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "233.63MB/s", - "input_bw": "110.91MB/s", + "bandwidth": "228.80MB/s", + "input_bw": "108.53MB/s", "reconnects": 0, - "status_2xx": 7178680, + "status_2xx": 7025056, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/baseline-512.json b/site/data/baseline-512.json index b064b48bb..e98c85226 100644 --- a/site/data/baseline-512.json +++ b/site/data/baseline-512.json @@ -257,19 +257,19 @@ { "framework": "effinitive", "language": "C#", - "rps": 1385487, - "avg_latency": "333us", - "p99_latency": "1.50ms", - "cpu": "5618.1%", - "memory": "431MiB", + "rps": 1330634, + "avg_latency": "350us", + "p99_latency": "2.18ms", + "cpu": "5669.9%", + "memory": "420MiB", "connections": 512, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "223.86MB/s", - "input_bw": "107.03MB/s", + "bandwidth": "213.80MB/s", + "input_bw": "102.79MB/s", "reconnects": 0, - "status_2xx": 6927437, + "status_2xx": 6653174, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/baseline-h2-1024.json b/site/data/baseline-h2-1024.json index f9e77bbc4..6be182322 100644 --- a/site/data/baseline-h2-1024.json +++ b/site/data/baseline-h2-1024.json @@ -118,17 +118,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 2021859, - "avg_latency": "27.45ms", - "cpu": "6136.2%", - "memory": "12.9GiB", + "rps": 1909651, + "avg_latency": "30.52ms", + "p99_latency": "1.24s", + "cpu": "5883.2%", + "memory": "6.6GiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "64.28MB/s", + "bandwidth": "60.83MB/s", "reconnects": 0, - "status_2xx": 10210392, + "status_2xx": 9662839, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/baseline-h2-256.json b/site/data/baseline-h2-256.json index 93106fd07..7591a8a05 100644 --- a/site/data/baseline-h2-256.json +++ b/site/data/baseline-h2-256.json @@ -118,17 +118,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 1876072, - "avg_latency": "11.05ms", - "cpu": "6266.4%", - "memory": "2.5GiB", + "rps": 1897958, + "avg_latency": "10.99ms", + "p99_latency": "522.70ms", + "cpu": "6256.9%", + "memory": "2.4GiB", "connections": 256, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "59.40MB/s", + "bandwidth": "59.97MB/s", "reconnects": 0, - "status_2xx": 9436643, + "status_2xx": 9527751, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/baseline-h3-64.json b/site/data/baseline-h3-64.json index a35ed362d..e3b1e99b9 100644 --- a/site/data/baseline-h3-64.json +++ b/site/data/baseline-h3-64.json @@ -40,18 +40,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 100377, - "avg_latency": "39.56ms", - "p99_latency": "125.07ms", - "cpu": "1950.7%", - "memory": "569MiB", + "rps": 158141, + "avg_latency": "25.32ms", + "p99_latency": "79.07ms", + "cpu": "1903.9%", + "memory": "626MiB", "connections": 64, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "1.15MB/s", + "bandwidth": "1.81MB/s", "reconnects": 0, - "status_2xx": 502893, + "status_2xx": 792290, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/echo-ws-16384.json b/site/data/echo-ws-16384.json index cb189231e..bd516fb0c 100644 --- a/site/data/echo-ws-16384.json +++ b/site/data/echo-ws-16384.json @@ -117,18 +117,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 404118, - "avg_latency": "11.53ms", - "p99_latency": "52.80ms", - "cpu": "2517.1%", - "memory": "3.2GiB", + "rps": 376683, + "avg_latency": "11.24ms", + "p99_latency": "45.70ms", + "cpu": "2309.9%", + "memory": "2.9GiB", "connections": 16384, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "2.90MB/s", + "bandwidth": "2.71MB/s", "reconnects": 0, - "status_2xx": 2020592, + "status_2xx": 1883419, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/echo-ws-4096.json b/site/data/echo-ws-4096.json index 511b2fde6..d1df5b9ab 100644 --- a/site/data/echo-ws-4096.json +++ b/site/data/echo-ws-4096.json @@ -117,18 +117,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 383556, - "avg_latency": "7.70ms", - "p99_latency": "29.70ms", - "cpu": "2505.8%", - "memory": "1.6GiB", + "rps": 387378, + "avg_latency": "7.96ms", + "p99_latency": "30.50ms", + "cpu": "2633.6%", + "memory": "3.2GiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "2.65MB/s", + "bandwidth": "2.68MB/s", "reconnects": 0, - "status_2xx": 1917783, + "status_2xx": 1936892, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/echo-ws-512.json b/site/data/echo-ws-512.json index 33fcde5cf..1881ba14c 100644 --- a/site/data/echo-ws-512.json +++ b/site/data/echo-ws-512.json @@ -117,18 +117,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 414850, - "avg_latency": "1.23ms", - "p99_latency": "15.90ms", - "cpu": "3818.7%", - "memory": "510MiB", + "rps": 369751, + "avg_latency": "1.38ms", + "p99_latency": "17.00ms", + "cpu": "3748.2%", + "memory": "528MiB", "connections": 512, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "2.77MB/s", + "bandwidth": "2.47MB/s", "reconnects": 0, - "status_2xx": 2074254, + "status_2xx": 1848755, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/echo-ws-pipeline-16384.json b/site/data/echo-ws-pipeline-16384.json index 5835b3568..fd11305a5 100644 --- a/site/data/echo-ws-pipeline-16384.json +++ b/site/data/echo-ws-pipeline-16384.json @@ -97,18 +97,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 725773, - "avg_latency": "62.28ms", - "p99_latency": "248.60ms", - "cpu": "1418.1%", - "memory": "1.9GiB", + "rps": 6280787, + "avg_latency": "11.85ms", + "p99_latency": "48.80ms", + "cpu": "2632.2%", + "memory": "2.3GiB", "connections": 16384, "threads": 64, "duration": "5s", "pipeline": 16, - "bandwidth": "5.01MB/s", + "bandwidth": "42.14MB/s", "reconnects": 0, - "status_2xx": 3628869, + "status_2xx": 31403936, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/echo-ws-pipeline-4096.json b/site/data/echo-ws-pipeline-4096.json index 2610cf33a..91ebc6a1a 100644 --- a/site/data/echo-ws-pipeline-4096.json +++ b/site/data/echo-ws-pipeline-4096.json @@ -97,18 +97,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 874276, - "avg_latency": "47.53ms", - "p99_latency": "159.10ms", - "cpu": "1589.9%", - "memory": "1.4GiB", + "rps": 6281712, + "avg_latency": "7.72ms", + "p99_latency": "29.40ms", + "cpu": "2661.0%", + "memory": "2.1GiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 16, - "bandwidth": "5.93MB/s", + "bandwidth": "42.02MB/s", "reconnects": 0, - "status_2xx": 4371384, + "status_2xx": 31408560, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/echo-ws-pipeline-512.json b/site/data/echo-ws-pipeline-512.json index 4c3fbc5ba..896b11ec9 100644 --- a/site/data/echo-ws-pipeline-512.json +++ b/site/data/echo-ws-pipeline-512.json @@ -97,18 +97,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 757013, - "avg_latency": "10.70ms", - "p99_latency": "60.30ms", - "cpu": "2405.0%", - "memory": "674MiB", + "rps": 6306099, + "avg_latency": "1.29ms", + "p99_latency": "16.10ms", + "cpu": "3466.8%", + "memory": "495MiB", "connections": 512, "threads": 64, "duration": "5s", "pipeline": 16, - "bandwidth": "5.06MB/s", + "bandwidth": "42.09MB/s", "reconnects": 0, - "status_2xx": 3785065, + "status_2xx": 31530496, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/json-4096.json b/site/data/json-4096.json index 4217b7061..38f8fdba5 100644 --- a/site/data/json-4096.json +++ b/site/data/json-4096.json @@ -219,19 +219,19 @@ { "framework": "effinitive", "language": "C#", - "rps": 376957, - "avg_latency": "10.32ms", - "p99_latency": "265.80ms", - "cpu": "4131.8%", - "memory": "371MiB", + "rps": 443404, + "avg_latency": "8.74ms", + "p99_latency": "224.30ms", + "cpu": "4306.2%", + "memory": "462MiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "1.32GB/s", - "input_bw": "17.97MB/s", - "reconnects": 75378, - "status_2xx": 1884786, + "bandwidth": "1.55GB/s", + "input_bw": "21.14MB/s", + "reconnects": 88584, + "status_2xx": 2217023, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/json-comp-16384.json b/site/data/json-comp-16384.json index 1c555659c..b3c400393 100644 --- a/site/data/json-comp-16384.json +++ b/site/data/json-comp-16384.json @@ -159,6 +159,26 @@ "status_4xx": 0, "status_5xx": 0 }, + { + "framework": "effinitive", + "language": "C#", + "rps": 300626, + "avg_latency": "25.74ms", + "p99_latency": "690.50ms", + "cpu": "4142.5%", + "memory": "382MiB", + "connections": 16384, + "threads": 64, + "duration": "5s", + "pipeline": 1, + "bandwidth": "571.34MB/s", + "input_bw": "22.36MB/s", + "reconnects": 60119, + "status_2xx": 1503130, + "status_3xx": 0, + "status_4xx": 0, + "status_5xx": 0 + }, { "framework": "elysia", "language": "TS", diff --git a/site/data/json-comp-4096.json b/site/data/json-comp-4096.json index 8c054b290..040a5ca19 100644 --- a/site/data/json-comp-4096.json +++ b/site/data/json-comp-4096.json @@ -159,6 +159,26 @@ "status_4xx": 0, "status_5xx": 0 }, + { + "framework": "effinitive", + "language": "C#", + "rps": 301382, + "avg_latency": "13.11ms", + "p99_latency": "341.50ms", + "cpu": "4239.6%", + "memory": "250MiB", + "connections": 4096, + "threads": 64, + "duration": "5s", + "pipeline": 1, + "bandwidth": "572.80MB/s", + "input_bw": "22.42MB/s", + "reconnects": 60397, + "status_2xx": 1506911, + "status_3xx": 0, + "status_4xx": 0, + "status_5xx": 0 + }, { "framework": "elysia", "language": "TS", diff --git a/site/data/json-comp-512.json b/site/data/json-comp-512.json index 1f8527faa..710ef4663 100644 --- a/site/data/json-comp-512.json +++ b/site/data/json-comp-512.json @@ -159,6 +159,26 @@ "status_4xx": 0, "status_5xx": 0 }, + { + "framework": "effinitive", + "language": "C#", + "rps": 296350, + "avg_latency": "1.72ms", + "p99_latency": "42.30ms", + "cpu": "4010.9%", + "memory": "211MiB", + "connections": 512, + "threads": 64, + "duration": "5s", + "pipeline": 1, + "bandwidth": "563.29MB/s", + "input_bw": "22.04MB/s", + "reconnects": 59269, + "status_2xx": 1481753, + "status_3xx": 0, + "status_4xx": 0, + "status_5xx": 0 + }, { "framework": "elysia", "language": "TS", diff --git a/site/data/limited-conn-4096.json b/site/data/limited-conn-4096.json index 6eaea9786..dfe15b9d2 100644 --- a/site/data/limited-conn-4096.json +++ b/site/data/limited-conn-4096.json @@ -257,19 +257,19 @@ { "framework": "effinitive", "language": "C#", - "rps": 362707, - "avg_latency": "11.18ms", - "p99_latency": "120.70ms", - "cpu": "2667.2%", - "memory": "205MiB", + "rps": 370700, + "avg_latency": "10.91ms", + "p99_latency": "117.20ms", + "cpu": "2799.6%", + "memory": "226MiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "59.13MB/s", - "input_bw": "28.02MB/s", - "reconnects": 181354, - "status_2xx": 1813537, + "bandwidth": "60.43MB/s", + "input_bw": "28.64MB/s", + "reconnects": 185439, + "status_2xx": 1853504, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/limited-conn-512.json b/site/data/limited-conn-512.json index 7dee1d23c..cd8ec63f6 100644 --- a/site/data/limited-conn-512.json +++ b/site/data/limited-conn-512.json @@ -257,19 +257,19 @@ { "framework": "effinitive", "language": "C#", - "rps": 374230, - "avg_latency": "1.36ms", - "p99_latency": "14.90ms", - "cpu": "2714.7%", - "memory": "182MiB", + "rps": 379189, + "avg_latency": "1.34ms", + "p99_latency": "14.80ms", + "cpu": "2777.7%", + "memory": "172MiB", "connections": 512, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "61.01MB/s", - "input_bw": "28.91MB/s", - "reconnects": 187115, - "status_2xx": 1871150, + "bandwidth": "61.78MB/s", + "input_bw": "29.29MB/s", + "reconnects": 189472, + "status_2xx": 1895949, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/pipelined-4096.json b/site/data/pipelined-4096.json index 0fdde77b4..63924364d 100644 --- a/site/data/pipelined-4096.json +++ b/site/data/pipelined-4096.json @@ -232,18 +232,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 5467452, - "avg_latency": "11.94ms", - "p99_latency": "137.80ms", - "cpu": "6208.9%", - "memory": "1.5GiB", + "rps": 5271769, + "avg_latency": "12.38ms", + "p99_latency": "138.80ms", + "cpu": "6038.2%", + "memory": "1.3GiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 16, - "bandwidth": "1.11GB/s", + "bandwidth": "1.07GB/s", "reconnects": 0, - "status_2xx": 27337264, + "status_2xx": 26358848, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/pipelined-512.json b/site/data/pipelined-512.json index 03f2b6b49..a1e48802e 100644 --- a/site/data/pipelined-512.json +++ b/site/data/pipelined-512.json @@ -232,18 +232,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 4892880, - "avg_latency": "1.68ms", - "p99_latency": "6.67ms", - "cpu": "5568.9%", - "memory": "398MiB", + "rps": 4948195, + "avg_latency": "1.66ms", + "p99_latency": "6.49ms", + "cpu": "5434.9%", + "memory": "391MiB", "connections": 512, "threads": 64, "duration": "5s", "pipeline": 16, - "bandwidth": "1021.60MB/s", + "bandwidth": "1.01GB/s", "reconnects": 0, - "status_2xx": 24464400, + "status_2xx": 24740976, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/static-1024.json b/site/data/static-1024.json index 0f1c25a41..1ff5608e2 100644 --- a/site/data/static-1024.json +++ b/site/data/static-1024.json @@ -213,17 +213,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 150585, - "avg_latency": "10.33ms", - "cpu": "5198.6%", - "memory": "1.4GiB", + "rps": 579683, + "avg_latency": "1.88ms", + "p99_latency": "42.28ms", + "cpu": "5545.9%", + "memory": "345MiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "8.95GB", + "bandwidth": "8.94GB", "reconnects": 0, - "status_2xx": 767956, + "status_2xx": 2955967, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/static-4096.json b/site/data/static-4096.json index 527ddc1ea..5f75de338 100644 --- a/site/data/static-4096.json +++ b/site/data/static-4096.json @@ -213,17 +213,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 159063, - "avg_latency": "70.85ms", - "cpu": "5312.1%", - "memory": "1.7GiB", + "rps": 526396, + "avg_latency": "16.26ms", + "p99_latency": "601.58ms", + "cpu": "5912.3%", + "memory": "1.3GiB", "connections": 4096, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "9.46GB", + "bandwidth": "8.12GB", "reconnects": 0, - "status_2xx": 811207, + "status_2xx": 2684645, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/static-6800.json b/site/data/static-6800.json index bed8a32f9..3449110b9 100644 --- a/site/data/static-6800.json +++ b/site/data/static-6800.json @@ -213,17 +213,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 161470, - "avg_latency": "87.88ms", - "cpu": "5396.5%", - "memory": "2.0GiB", + "rps": 490115, + "avg_latency": "35.47ms", + "p99_latency": "1.01s", + "cpu": "5786.9%", + "memory": "2.1GiB", "connections": 6800, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "9.60GB", + "bandwidth": "7.56GB", "reconnects": 0, - "status_2xx": 823679, + "status_2xx": 2499403, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/static-h2-1024.json b/site/data/static-h2-1024.json index e69872a1c..dc248989b 100644 --- a/site/data/static-h2-1024.json +++ b/site/data/static-h2-1024.json @@ -118,17 +118,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 404, - "avg_latency": "396us", - "cpu": "286.7%", - "memory": "327MiB", + "rps": 0, + "avg_latency": "", + "p99_latency": "", + "cpu": "6259.5%", + "memory": "5.3GiB", "connections": 1024, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "15.49MB/s", + "bandwidth": "0", "reconnects": 0, - "status_2xx": 2048, + "status_2xx": 0, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/static-h2-256.json b/site/data/static-h2-256.json index 03da0a40b..fcb3128fd 100644 --- a/site/data/static-h2-256.json +++ b/site/data/static-h2-256.json @@ -118,17 +118,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 101, - "avg_latency": "357us", - "cpu": "87.5%", - "memory": "157MiB", + "rps": 683517, + "avg_latency": "10.43ms", + "p99_latency": "568.27ms", + "cpu": "6208.8%", + "memory": "1.7GiB", "connections": 256, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "5.19MB/s", + "bandwidth": "10.45GB/s", "reconnects": 0, - "status_2xx": 512, + "status_2xx": 3431260, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/static-h3-64.json b/site/data/static-h3-64.json index 1b3d28636..e512978f2 100644 --- a/site/data/static-h3-64.json +++ b/site/data/static-h3-64.json @@ -40,18 +40,18 @@ { "framework": "effinitive", "language": "C#", - "rps": 59773, - "avg_latency": "67.70ms", - "p99_latency": "228.58ms", - "cpu": "4509.9%", - "memory": "936MiB", + "rps": 111988, + "avg_latency": "35.83ms", + "p99_latency": "109.59ms", + "cpu": "3000.9%", + "memory": "976MiB", "connections": 64, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "3.55GB/s", + "bandwidth": "1.71GB/s", "reconnects": 0, - "status_2xx": 299463, + "status_2xx": 561064, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/upload-256.json b/site/data/upload-256.json index 7b76ca7ce..0747eceec 100644 --- a/site/data/upload-256.json +++ b/site/data/upload-256.json @@ -182,19 +182,19 @@ { "framework": "effinitive", "language": "C#", - "rps": 1450, - "avg_latency": "170.33ms", - "p99_latency": "792.80ms", - "cpu": "4858.8%", - "memory": "480MiB", + "rps": 2340, + "avg_latency": "107.36ms", + "p99_latency": "518.50ms", + "cpu": "5919.3%", + "memory": "508MiB", "connections": 256, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "215.60KB/s", - "input_bw": "11.50GB/s", - "reconnects": 1368, - "status_2xx": 7252, + "bandwidth": "347.76KB/s", + "input_bw": "18.56GB/s", + "reconnects": 2294, + "status_2xx": 11702, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/data/upload-32.json b/site/data/upload-32.json index c48b49805..350f0d022 100644 --- a/site/data/upload-32.json +++ b/site/data/upload-32.json @@ -182,19 +182,19 @@ { "framework": "effinitive", "language": "C#", - "rps": 1166, - "avg_latency": "27.34ms", - "p99_latency": "239.20ms", - "cpu": "3008.1%", - "memory": "200MiB", + "rps": 1608, + "avg_latency": "19.85ms", + "p99_latency": "87.70ms", + "cpu": "3859.3%", + "memory": "289MiB", "connections": 32, "threads": 64, "duration": "5s", "pipeline": 1, - "bandwidth": "173.39KB/s", - "input_bw": "9.25GB/s", - "reconnects": 1170, - "status_2xx": 5833, + "bandwidth": "238.99KB/s", + "input_bw": "12.75GB/s", + "reconnects": 1610, + "status_2xx": 8041, "status_3xx": 0, "status_4xx": 0, "status_5xx": 0 diff --git a/site/static/logs/json-comp/16384/effinitive.log b/site/static/logs/json-comp/16384/effinitive.log new file mode 100644 index 000000000..0ba5f8a56 --- /dev/null +++ b/site/static/logs/json-comp/16384/effinitive.log @@ -0,0 +1,13 @@ +✅ Registered: GET /async-db -> AsyncDatabaseEndpoint +✅ Registered: GET /pipeline -> PipelineEndpoint +✅ Registered: GET /baseline11 -> BaselineGetEndpoint +✅ Registered: POST /baseline11 -> BaselinePostEndpoint +✅ Registered: GET /baseline2 -> Baseline2GetEndpoint +✅ Registered: GET /compression -> CompressionEndpoint +✅ Registered: GET /db -> DatabaseEndpoint +✅ Registered: GET /json/{count} -> JsonEndpoint +✅ Registered: POST /upload -> UploadEndpoint + quic://localhost:8443 (HTTP/3) +EffinitiveFramework listening on: + http://localhost:8080 + https://localhost:8443 diff --git a/site/static/logs/json-comp/4096/effinitive.log b/site/static/logs/json-comp/4096/effinitive.log new file mode 100644 index 000000000..0ba5f8a56 --- /dev/null +++ b/site/static/logs/json-comp/4096/effinitive.log @@ -0,0 +1,13 @@ +✅ Registered: GET /async-db -> AsyncDatabaseEndpoint +✅ Registered: GET /pipeline -> PipelineEndpoint +✅ Registered: GET /baseline11 -> BaselineGetEndpoint +✅ Registered: POST /baseline11 -> BaselinePostEndpoint +✅ Registered: GET /baseline2 -> Baseline2GetEndpoint +✅ Registered: GET /compression -> CompressionEndpoint +✅ Registered: GET /db -> DatabaseEndpoint +✅ Registered: GET /json/{count} -> JsonEndpoint +✅ Registered: POST /upload -> UploadEndpoint + quic://localhost:8443 (HTTP/3) +EffinitiveFramework listening on: + http://localhost:8080 + https://localhost:8443 diff --git a/site/static/logs/json-comp/512/effinitive.log b/site/static/logs/json-comp/512/effinitive.log new file mode 100644 index 000000000..0ba5f8a56 --- /dev/null +++ b/site/static/logs/json-comp/512/effinitive.log @@ -0,0 +1,13 @@ +✅ Registered: GET /async-db -> AsyncDatabaseEndpoint +✅ Registered: GET /pipeline -> PipelineEndpoint +✅ Registered: GET /baseline11 -> BaselineGetEndpoint +✅ Registered: POST /baseline11 -> BaselinePostEndpoint +✅ Registered: GET /baseline2 -> Baseline2GetEndpoint +✅ Registered: GET /compression -> CompressionEndpoint +✅ Registered: GET /db -> DatabaseEndpoint +✅ Registered: GET /json/{count} -> JsonEndpoint +✅ Registered: POST /upload -> UploadEndpoint + quic://localhost:8443 (HTTP/3) +EffinitiveFramework listening on: + http://localhost:8080 + https://localhost:8443