From 03cdcbe9b178644278b9abf9ad48ba177c63216a Mon Sep 17 00:00:00 2001 From: Damian Edwards Date: Mon, 16 Dec 2024 10:50:39 -0800 Subject: [PATCH 1/9] Update Platform to new Razor Slices - Drop net7 support - Fix TargetFrameworkVersion condition --- build/dependencies.props | 2 +- src/Benchmarks/Benchmarks.csproj | 2 +- src/BenchmarksApps.sln | 4 +- .../DistributedCache/DistributedCache.csproj | 4 +- .../Grpc/GrpcHttpApiServer/Server/Program.cs | 6 +- .../GrpcHttpApiServer/Server/Server.csproj | 2 +- .../HelloWorldMvc/HelloWorldMvc.csproj | 4 +- src/BenchmarksApps/MapAction/MapAction.csproj | 4 +- .../SignalR/BenchmarkServer.csproj | 2 +- .../TechEmpower/BlazorSSR/BlazorSSR.csproj | 2 +- .../TechEmpower/Minimal/Minimal.csproj | 4 +- src/BenchmarksApps/TechEmpower/Mvc/Mvc.csproj | 7 +- .../BenchmarkApplication.Fortunes.cs | 120 +++--- .../BenchmarkApplication.HttpConnection.cs | 52 ++- .../BenchmarkApplication.cs | 350 +++++++++--------- ...edBufferWriter.cs => ChunkedPipeWriter.cs} | 30 +- .../PlatformBenchmarks.binlog | Bin 0 -> 146471 bytes .../PlatformBenchmarks.csproj | 11 +- .../TechEmpower/PlatformBenchmarks/Program.cs | 4 +- .../Properties/launchSettings.json | 2 +- .../TechEmpower/RazorPages/RazorPages.csproj | 11 +- src/BenchmarksApps/TodosApi/TodosApi.csproj | 11 +- src/Downstream/Downstream.csproj | 2 +- src/TcpClient/TcpClient.csproj | 2 +- 24 files changed, 318 insertions(+), 320 deletions(-) rename src/BenchmarksApps/TechEmpower/PlatformBenchmarks/{ChunkedBufferWriter.cs => ChunkedPipeWriter.cs} (89%) create mode 100644 src/BenchmarksApps/TechEmpower/PlatformBenchmarks/PlatformBenchmarks.binlog diff --git a/build/dependencies.props b/build/dependencies.props index dd71368d5..890bf8b0e 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -42,7 +42,7 @@ 10.0.0-* 2.1.35 - 0.7.0 + 0.8.1 2.0.0-beta4.22272.1 0.2.0-alpha.24114.2 1.9.0 diff --git a/src/Benchmarks/Benchmarks.csproj b/src/Benchmarks/Benchmarks.csproj index a54490711..329c6f15d 100644 --- a/src/Benchmarks/Benchmarks.csproj +++ b/src/Benchmarks/Benchmarks.csproj @@ -62,7 +62,7 @@ - + diff --git a/src/BenchmarksApps.sln b/src/BenchmarksApps.sln index df1921ad0..22ed89b00 100644 --- a/src/BenchmarksApps.sln +++ b/src/BenchmarksApps.sln @@ -266,12 +266,12 @@ Global {8DF3A6BB-E8C5-4FAA-839A-D185C9F93CD5} = {D8A014FB-3C99-4831-9FFB-F4A89A48D8BD} {9E4AF835-2A78-4012-B0B5-9DA41ACDC716} = {D8A014FB-3C99-4831-9FFB-F4A89A48D8BD} {20757830-EA66-4962-BDBB-A101A2062A2C} = {D8A014FB-3C99-4831-9FFB-F4A89A48D8BD} - {07C0B18B-9738-4349-A8DF-3E88D3DF90AE} = {9E4AF835-2A78-4012-B0B5-9DA41ACDC716} + {07C0B18B-9738-4349-A8DF-3E88D3DF90AE} = {B6DB234C-8F80-4160-B95D-D70AFC444A3D} {E68B58F8-40EA-49EA-A126-0B67F2BE7343} = {B6DB234C-8F80-4160-B95D-D70AFC444A3D} {ACA43671-AD28-4F72-AAAB-6C32B388C2F0} = {B6DB234C-8F80-4160-B95D-D70AFC444A3D} {D8F11F87-823F-4864-926D-5F66448A5C13} = {B6DB234C-8F80-4160-B95D-D70AFC444A3D} {3D2573DE-CE7A-4CB8-A980-8C8636EE059E} = {398A40DA-FE1D-4B4D-A580-A33E29885553} - {31B61CD7-4CF6-464F-B418-04C700A17CB9} = {6A69DE6C-07A6-4ABE-A4D2-0F983A33BBF8} + {31B61CD7-4CF6-464F-B418-04C700A17CB9} = {B6DB234C-8F80-4160-B95D-D70AFC444A3D} {D6616E03-A2DA-4929-AD28-595ECC4C004D} = {B6DB234C-8F80-4160-B95D-D70AFC444A3D} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution diff --git a/src/BenchmarksApps/DistributedCache/DistributedCache.csproj b/src/BenchmarksApps/DistributedCache/DistributedCache.csproj index 0469e9620..561258d5d 100644 --- a/src/BenchmarksApps/DistributedCache/DistributedCache.csproj +++ b/src/BenchmarksApps/DistributedCache/DistributedCache.csproj @@ -1,6 +1,6 @@ - + - net7.0 + net8.0 Exe enable enable diff --git a/src/BenchmarksApps/Grpc/GrpcHttpApiServer/Server/Program.cs b/src/BenchmarksApps/Grpc/GrpcHttpApiServer/Server/Program.cs index f0b85f6af..8fb22b55c 100644 --- a/src/BenchmarksApps/Grpc/GrpcHttpApiServer/Server/Program.cs +++ b/src/BenchmarksApps/Grpc/GrpcHttpApiServer/Server/Program.cs @@ -8,6 +8,7 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Console; namespace Server { @@ -84,7 +85,10 @@ public static IHostBuilder CreateHostBuilder(string[] args) if (Enum.TryParse(config["LogLevel"], out var logLevel)) { Console.WriteLine($"Console Logging enabled with level '{logLevel}'"); - loggerFactory.AddConsole(o => o.TimestampFormat = "ss.ffff ").SetMinimumLevel(logLevel); + loggerFactory + .AddConsole() + .AddConsoleFormatter(o => o.TimestampFormat = "ss.ffff") + .SetMinimumLevel(logLevel); } }) .UseDefaultServiceProvider((context, options) => diff --git a/src/BenchmarksApps/Grpc/GrpcHttpApiServer/Server/Server.csproj b/src/BenchmarksApps/Grpc/GrpcHttpApiServer/Server/Server.csproj index 49a4b9e2d..5a6683d22 100644 --- a/src/BenchmarksApps/Grpc/GrpcHttpApiServer/Server/Server.csproj +++ b/src/BenchmarksApps/Grpc/GrpcHttpApiServer/Server/Server.csproj @@ -10,7 +10,7 @@ - + diff --git a/src/BenchmarksApps/HelloWorldMvc/HelloWorldMvc.csproj b/src/BenchmarksApps/HelloWorldMvc/HelloWorldMvc.csproj index 24f1b8ea7..acfe3326f 100644 --- a/src/BenchmarksApps/HelloWorldMvc/HelloWorldMvc.csproj +++ b/src/BenchmarksApps/HelloWorldMvc/HelloWorldMvc.csproj @@ -1,6 +1,6 @@ - + - net7.0 + net8.0 Exe \ No newline at end of file diff --git a/src/BenchmarksApps/MapAction/MapAction.csproj b/src/BenchmarksApps/MapAction/MapAction.csproj index cceeead16..c70916d37 100644 --- a/src/BenchmarksApps/MapAction/MapAction.csproj +++ b/src/BenchmarksApps/MapAction/MapAction.csproj @@ -1,6 +1,6 @@ - + - net7.0 + net8.0 diff --git a/src/BenchmarksApps/SignalR/BenchmarkServer.csproj b/src/BenchmarksApps/SignalR/BenchmarkServer.csproj index 60beb1ef5..578936fdc 100644 --- a/src/BenchmarksApps/SignalR/BenchmarkServer.csproj +++ b/src/BenchmarksApps/SignalR/BenchmarkServer.csproj @@ -1,7 +1,7 @@  - net7.0 + net8.0 diff --git a/src/BenchmarksApps/TechEmpower/BlazorSSR/BlazorSSR.csproj b/src/BenchmarksApps/TechEmpower/BlazorSSR/BlazorSSR.csproj index 5407bdc2e..8c0fa575a 100644 --- a/src/BenchmarksApps/TechEmpower/BlazorSSR/BlazorSSR.csproj +++ b/src/BenchmarksApps/TechEmpower/BlazorSSR/BlazorSSR.csproj @@ -14,7 +14,7 @@ - + diff --git a/src/BenchmarksApps/TechEmpower/Minimal/Minimal.csproj b/src/BenchmarksApps/TechEmpower/Minimal/Minimal.csproj index f03e6fb94..646892e45 100644 --- a/src/BenchmarksApps/TechEmpower/Minimal/Minimal.csproj +++ b/src/BenchmarksApps/TechEmpower/Minimal/Minimal.csproj @@ -1,7 +1,7 @@  - net7.0 + net8.0 enable enable latest @@ -14,7 +14,7 @@ - + diff --git a/src/BenchmarksApps/TechEmpower/Mvc/Mvc.csproj b/src/BenchmarksApps/TechEmpower/Mvc/Mvc.csproj index ea4a47118..f7b308ee1 100644 --- a/src/BenchmarksApps/TechEmpower/Mvc/Mvc.csproj +++ b/src/BenchmarksApps/TechEmpower/Mvc/Mvc.csproj @@ -11,17 +11,12 @@ - - - - - - + diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Fortunes.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Fortunes.cs index 7f09d3e3c..12b0d94d8 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Fortunes.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Fortunes.cs @@ -1,81 +1,81 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +using System; using System.IO.Pipelines; using System.Runtime.CompilerServices; using System.Threading.Tasks; using RazorSlices; -namespace PlatformBenchmarks +namespace PlatformBenchmarks; + +public partial class BenchmarkApplication { - public partial class BenchmarkApplication - { #if DATABASE - private async Task FortunesRaw(PipeWriter pipeWriter) - { - await OutputFortunes( - pipeWriter, - await RawDb.LoadFortunesRows(), - // To isolate template rendering from DB access, comment out the line above and uncomment the line below - //await RawDb.LoadFortunesRowsNoDb(), - FortunesTemplateFactory); - } - - private async Task FortunesDapper(PipeWriter pipeWriter) - { - await OutputFortunes(pipeWriter, await DapperDb.LoadFortunesRows(), FortunesDapperTemplateFactory); - } - - private async Task FortunesEf(PipeWriter pipeWriter) - { - await OutputFortunes(pipeWriter, await EfDb.LoadFortunesRows(), FortunesEfTemplateFactory); - } + private async Task FortunesRaw(PipeWriter pipeWriter) + { + await OutputFortunes( + pipeWriter, + //await RawDb.LoadFortunesRows(), + // To isolate template rendering from DB access, comment out the line above and uncomment the line below + await RawDb.LoadFortunesRowsNoDb(), + Templates.FortunesUtf8.Create); + } - private ValueTask OutputFortunes(PipeWriter pipeWriter, TModel model, SliceFactory templateFactory) - { - // Render headers - var preamble = """ - HTTP/1.1 200 OK - Server: K - Content-Type: text/html; charset=utf-8 - Transfer-Encoding: chunked - """u8; - var headersLength = preamble.Length + DateHeader.HeaderBytes.Length; - var headersSpan = pipeWriter.GetSpan(headersLength); - preamble.CopyTo(headersSpan); - DateHeader.HeaderBytes.CopyTo(headersSpan[preamble.Length..]); - pipeWriter.Advance(headersLength); + private async Task FortunesDapper(PipeWriter pipeWriter) + { + await OutputFortunes(pipeWriter, await DapperDb.LoadFortunesRows(), Templates.FortunesUtf8.Create); + } - // Render body - var template = templateFactory(model); - // Kestrel PipeWriter span size is 4K, headers above already written to first span & template output is ~1350 bytes, - // so 2K chunk size should result in only a single span and chunk being used. - var chunkedWriter = GetChunkedWriter(pipeWriter, chunkSizeHint: 2048); - var renderTask = template.RenderAsync(chunkedWriter, null, HtmlEncoder); + private async Task FortunesEf(PipeWriter pipeWriter) + { + await OutputFortunes(pipeWriter, await EfDb.LoadFortunesRows(), Templates.FortunesEf.Create); + } - if (renderTask.IsCompletedSuccessfully) - { - renderTask.GetAwaiter().GetResult(); - EndTemplateRendering(chunkedWriter, template); - return ValueTask.CompletedTask; - } + private ValueTask OutputFortunes(PipeWriter pipeWriter, TModel model, Func templateFactory) + { + // Render headers + var preamble = """ + HTTP/1.1 200 OK + Server: K + Content-Type: text/html; charset=utf-8 + Transfer-Encoding: chunked + """u8; + var headersLength = preamble.Length + DateHeader.HeaderBytes.Length; + var headersSpan = pipeWriter.GetSpan(headersLength); + preamble.CopyTo(headersSpan); + DateHeader.HeaderBytes.CopyTo(headersSpan[preamble.Length..]); + pipeWriter.Advance(headersLength); - return AwaitTemplateRenderTask(renderTask, chunkedWriter, template); - } + // Render body + var template = templateFactory(model); + // Kestrel PipeWriter span size is 4K, headers above already written to first span & template output is ~1350 bytes, + // so 2K chunk size should result in only a single span and chunk being used. + var chunkedWriter = GetChunkedWriter(pipeWriter, chunkSizeHint: 2048); + var renderTask = template.RenderAsync(chunkedWriter, HtmlEncoder); - private static async ValueTask AwaitTemplateRenderTask(ValueTask renderTask, ChunkedBufferWriter chunkedWriter, RazorSlice template) + if (renderTask.IsCompletedSuccessfully) { - await renderTask; + renderTask.GetAwaiter().GetResult(); EndTemplateRendering(chunkedWriter, template); + return ValueTask.CompletedTask; } - [MethodImpl(MethodImplOptions.AggressiveInlining)] - private static void EndTemplateRendering(ChunkedBufferWriter chunkedWriter, RazorSlice template) - { - chunkedWriter.End(); - ReturnChunkedWriter(chunkedWriter); - template.Dispose(); - } -#endif + return AwaitTemplateRenderTask(renderTask, chunkedWriter, template); } + + private static async ValueTask AwaitTemplateRenderTask(ValueTask renderTask, ChunkedPipeWriter chunkedWriter, RazorSlice template) + { + await renderTask; + EndTemplateRendering(chunkedWriter, template); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static void EndTemplateRendering(ChunkedPipeWriter chunkedWriter, RazorSlice template) + { + chunkedWriter.Complete(); + ReturnChunkedWriter(chunkedWriter); + template.Dispose(); + } +#endif } diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.HttpConnection.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.HttpConnection.cs index 11f6c782a..4bd1bc6a9 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.HttpConnection.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.HttpConnection.cs @@ -258,54 +258,44 @@ private static BufferWriter GetWriter(PipeWriter pipeWriter, int => new(new(pipeWriter), sizeHint); [MethodImpl(MethodImplOptions.AggressiveInlining)] - private static ChunkedBufferWriter GetChunkedWriter(PipeWriter pipeWriter, int chunkSizeHint) + private static ChunkedPipeWriter GetChunkedWriter(PipeWriter pipeWriter, int chunkSizeHint) { var writer = ChunkedWriterPool.Get(); - writer.SetOutput(new WriterAdapter(pipeWriter), chunkSizeHint); + writer.SetOutput(pipeWriter, chunkSizeHint); return writer; } [MethodImpl(MethodImplOptions.AggressiveInlining)] - private static void ReturnChunkedWriter(ChunkedBufferWriter writer) => ChunkedWriterPool.Return(writer); + private static void ReturnChunkedWriter(ChunkedPipeWriter writer) => ChunkedWriterPool.Return(writer); - private struct WriterAdapter : IBufferWriter + private readonly struct WriterAdapter(PipeWriter writer) : IBufferWriter { - public PipeWriter Writer; + public readonly void Advance(int count) + => writer.Advance(count); - public WriterAdapter(PipeWriter writer) - => Writer = writer; + public readonly Memory GetMemory(int sizeHint = 0) + => writer.GetMemory(sizeHint); - public void Advance(int count) - => Writer.Advance(count); - - public Memory GetMemory(int sizeHint = 0) - => Writer.GetMemory(sizeHint); - - public Span GetSpan(int sizeHint = 0) - => Writer.GetSpan(sizeHint); + public readonly Span GetSpan(int sizeHint = 0) + => writer.GetSpan(sizeHint); } - private struct ParsingAdapter : IHttpRequestLineHandler, IHttpHeadersHandler + private readonly struct ParsingAdapter(BenchmarkApplication requestHandler) : IHttpRequestLineHandler, IHttpHeadersHandler { - public BenchmarkApplication RequestHandler; - - public ParsingAdapter(BenchmarkApplication requestHandler) - => RequestHandler = requestHandler; - - public void OnStaticIndexedHeader(int index) - => RequestHandler.OnStaticIndexedHeader(index); + public readonly void OnStaticIndexedHeader(int index) + => requestHandler.OnStaticIndexedHeader(index); - public void OnStaticIndexedHeader(int index, ReadOnlySpan value) - => RequestHandler.OnStaticIndexedHeader(index, value); + public readonly void OnStaticIndexedHeader(int index, ReadOnlySpan value) + => requestHandler.OnStaticIndexedHeader(index, value); - public void OnHeader(ReadOnlySpan name, ReadOnlySpan value) - => RequestHandler.OnHeader(name, value); + public readonly void OnHeader(ReadOnlySpan name, ReadOnlySpan value) + => requestHandler.OnHeader(name, value); - public void OnHeadersComplete(bool endStream) - => RequestHandler.OnHeadersComplete(endStream); + public readonly void OnHeadersComplete(bool endStream) + => requestHandler.OnHeadersComplete(endStream); - public void OnStartLine(HttpVersionAndMethod versionAndMethod, TargetOffsetPathLength targetPath, Span startLine) - => RequestHandler.OnStartLine(versionAndMethod, targetPath, startLine); + public readonly void OnStartLine(HttpVersionAndMethod versionAndMethod, TargetOffsetPathLength targetPath, Span startLine) + => requestHandler.OnStartLine(versionAndMethod, targetPath, startLine); } } } diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.cs index cc50a9b6b..6cec36728 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.cs @@ -10,216 +10,216 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http; using Microsoft.Extensions.ObjectPool; +using PlatformBenchmarks.Templates; using RazorSlices; -namespace PlatformBenchmarks +namespace PlatformBenchmarks; + +public sealed partial class BenchmarkApplication { - public sealed partial class BenchmarkApplication + public static ReadOnlySpan ApplicationName => "Kestrel Platform-Level Application"u8; + + private static ReadOnlySpan _crlf => "\r\n"u8; + private static ReadOnlySpan _eoh => "\r\n\r\n"u8; // End Of Headers + private static ReadOnlySpan _http11OK => "HTTP/1.1 200 OK\r\n"u8; + private static ReadOnlySpan _http11NotFound => "HTTP/1.1 404 Not Found\r\n"u8; + private static ReadOnlySpan _headerServer => "Server: K"u8; + private static ReadOnlySpan _headerContentLength => "Content-Length: "u8; + private static ReadOnlySpan _headerContentLengthZero => "Content-Length: 0"u8; + private static ReadOnlySpan _headerContentTypeText => "Content-Type: text/plain"u8; + private static ReadOnlySpan _headerContentTypeJson => "Content-Type: application/json"u8; + private static ReadOnlySpan _headerContentTypeHtml => "Content-Type: text/html; charset=UTF-8"u8; + + private static ReadOnlySpan _dbPreamble => + "HTTP/1.1 200 OK\r\n"u8 + + "Server: K\r\n"u8 + + "Content-Type: application/json\r\n"u8 + + "Content-Length: "u8; + + private static ReadOnlySpan _plainTextBody => "Hello, World!"u8; + private static ReadOnlySpan _contentLengthGap => " "u8; + + public static RawDb RawDb { get; set; } + public static DapperDb DapperDb { get; set; } + public static EfDb EfDb { get; set; } + + private static readonly DefaultObjectPool ChunkedWriterPool + = new(new ChunkedWriterObjectPolicy()); + + private sealed class ChunkedWriterObjectPolicy : IPooledObjectPolicy { - public static ReadOnlySpan ApplicationName => "Kestrel Platform-Level Application"u8; - - private static ReadOnlySpan _crlf => "\r\n"u8; - private static ReadOnlySpan _eoh => "\r\n\r\n"u8; // End Of Headers - private static ReadOnlySpan _http11OK => "HTTP/1.1 200 OK\r\n"u8; - private static ReadOnlySpan _http11NotFound => "HTTP/1.1 404 Not Found\r\n"u8; - private static ReadOnlySpan _headerServer => "Server: K"u8; - private static ReadOnlySpan _headerContentLength => "Content-Length: "u8; - private static ReadOnlySpan _headerContentLengthZero => "Content-Length: 0"u8; - private static ReadOnlySpan _headerContentTypeText => "Content-Type: text/plain"u8; - private static ReadOnlySpan _headerContentTypeJson => "Content-Type: application/json"u8; - private static ReadOnlySpan _headerContentTypeHtml => "Content-Type: text/html; charset=UTF-8"u8; - - private static ReadOnlySpan _dbPreamble => - "HTTP/1.1 200 OK\r\n"u8 + - "Server: K\r\n"u8 + - "Content-Type: application/json\r\n"u8 + - "Content-Length: "u8; - - private static ReadOnlySpan _plainTextBody => "Hello, World!"u8; - private static ReadOnlySpan _contentLengthGap => " "u8; - - public static RawDb RawDb { get; set; } - public static DapperDb DapperDb { get; set; } - public static EfDb EfDb { get; set; } - - private static readonly DefaultObjectPool> ChunkedWriterPool - = new(new ChunkedWriterObjectPolicy()); - - private sealed class ChunkedWriterObjectPolicy : IPooledObjectPolicy> - { - public ChunkedBufferWriter Create() => new(); + public ChunkedPipeWriter Create() => new(); - public bool Return(ChunkedBufferWriter writer) - { - writer.Reset(); - return true; - } + public bool Return(ChunkedPipeWriter writer) + { + writer.Reset(); + return true; } + } #if DATABASE - private readonly static SliceFactory> FortunesTemplateFactory = RazorSlice.ResolveSliceFactory>("/Templates/FortunesUtf8.cshtml"); - private readonly static SliceFactory> FortunesDapperTemplateFactory = RazorSlice.ResolveSliceFactory>("/Templates/FortunesUtf16.cshtml"); - private readonly static SliceFactory> FortunesEfTemplateFactory = RazorSlice.ResolveSliceFactory>("/Templates/FortunesEf.cshtml"); + //private readonly static Func, RazorSlice> FortunesTemplateFactory = FortunesUtf8.Create(; + //private readonly static SliceFactory> FortunesDapperTemplateFactory = RazorSlice.ResolveSliceFactory>("/Templates/FortunesUtf16.cshtml"); + //private readonly static SliceFactory> FortunesEfTemplateFactory = RazorSlice.ResolveSliceFactory>("/Templates/FortunesEf.cshtml"); #endif - [ThreadStatic] - private static Utf8JsonWriter t_writer; + [ThreadStatic] + private static Utf8JsonWriter t_writer; - private static readonly JsonContext SerializerContext = JsonContext.Default; + private static readonly JsonContext SerializerContext = JsonContext.Default; - [JsonSourceGenerationOptions(GenerationMode = JsonSourceGenerationMode.Serialization)] - [JsonSerializable(typeof(JsonMessage))] - [JsonSerializable(typeof(CachedWorld[]))] - [JsonSerializable(typeof(World[]))] - private partial class JsonContext : JsonSerializerContext - { - } + [JsonSourceGenerationOptions(GenerationMode = JsonSourceGenerationMode.Serialization)] + [JsonSerializable(typeof(JsonMessage))] + [JsonSerializable(typeof(CachedWorld[]))] + [JsonSerializable(typeof(World[]))] + private partial class JsonContext : JsonSerializerContext + { + } - public static class Paths - { - public static ReadOnlySpan Json => "/json"u8; - public static ReadOnlySpan Plaintext => "/plaintext"u8; - public static ReadOnlySpan SingleQuery => "/db"u8; - public static ReadOnlySpan FortunesRaw => "/fortunes"u8; - public static ReadOnlySpan FortunesDapper => "/fortunes/dapper"u8; - public static ReadOnlySpan FortunesEf => "/fortunes/ef"u8; - public static ReadOnlySpan Updates => "/updates/"u8; - public static ReadOnlySpan MultipleQueries => "/queries/"u8; - public static ReadOnlySpan Caching => "/cached-worlds/"u8; - } + public static class Paths + { + public static ReadOnlySpan Json => "/json"u8; + public static ReadOnlySpan Plaintext => "/plaintext"u8; + public static ReadOnlySpan SingleQuery => "/db"u8; + public static ReadOnlySpan FortunesRaw => "/fortunes"u8; + public static ReadOnlySpan FortunesDapper => "/fortunes/dapper"u8; + public static ReadOnlySpan FortunesEf => "/fortunes/ef"u8; + public static ReadOnlySpan Updates => "/updates/"u8; + public static ReadOnlySpan MultipleQueries => "/queries/"u8; + public static ReadOnlySpan Caching => "/cached-worlds/"u8; + } - private RequestType _requestType; - private int _queries; + private RequestType _requestType; + private int _queries; - public void OnStartLine(HttpVersionAndMethod versionAndMethod, TargetOffsetPathLength targetPath, Span startLine) + public void OnStartLine(HttpVersionAndMethod versionAndMethod, TargetOffsetPathLength targetPath, Span startLine) + { + _requestType = versionAndMethod.Method == HttpMethod.Get ? GetRequestType(startLine.Slice(targetPath.Offset, targetPath.Length), ref _queries) : RequestType.NotRecognized; + } + + private static RequestType GetRequestType(ReadOnlySpan path, ref int queries) + { +#if !DATABASE + if (path.Length == 10 && path.SequenceEqual(Paths.Plaintext)) { - _requestType = versionAndMethod.Method == HttpMethod.Get ? GetRequestType(startLine.Slice(targetPath.Offset, targetPath.Length), ref _queries) : RequestType.NotRecognized; + return RequestType.PlainText; } - - private static RequestType GetRequestType(ReadOnlySpan path, ref int queries) + else if (path.Length == 5 && path.SequenceEqual(Paths.Json)) { -#if !DATABASE - if (path.Length == 10 && path.SequenceEqual(Paths.Plaintext)) - { - return RequestType.PlainText; - } - else if (path.Length == 5 && path.SequenceEqual(Paths.Json)) - { - return RequestType.Json; - } + return RequestType.Json; + } #else - if (path.Length == 3 && path[0] == '/' && path[1] == 'd' && path[2] == 'b') - { - return RequestType.SingleQuery; - } - if (path[1] == 'f') - { - return path.Length switch - { - 9 when path.SequenceEqual(Paths.FortunesRaw) => RequestType.FortunesRaw, - 16 when path.SequenceEqual(Paths.FortunesDapper) => RequestType.FortunesDapper, - 12 when path.SequenceEqual(Paths.FortunesEf) => RequestType.FortunesEf, - _ => RequestType.NotRecognized - }; - } - if (path.Length >= 15 && path[1] == 'c' && path.StartsWith(Paths.Caching)) - { - queries = ParseQueries(path.Slice(15)); - return RequestType.Caching; - } - if (path.Length >= 9 && path[1] == 'u' && path.StartsWith(Paths.Updates)) - { - queries = ParseQueries(path.Slice(9)); - return RequestType.Updates; - } - if (path.Length >= 9 && path[1] == 'q' && path.StartsWith(Paths.MultipleQueries)) + if (path.Length == 3 && path[0] == '/' && path[1] == 'd' && path[2] == 'b') + { + return RequestType.SingleQuery; + } + if (path[1] == 'f') + { + return path.Length switch { - queries = ParseQueries(path.Slice(9)); - return RequestType.MultipleQueries; - } -#endif - return RequestType.NotRecognized; + 9 when path.SequenceEqual(Paths.FortunesRaw) => RequestType.FortunesRaw, + 16 when path.SequenceEqual(Paths.FortunesDapper) => RequestType.FortunesDapper, + 12 when path.SequenceEqual(Paths.FortunesEf) => RequestType.FortunesEf, + _ => RequestType.NotRecognized + }; + } + if (path.Length >= 15 && path[1] == 'c' && path.StartsWith(Paths.Caching)) + { + queries = ParseQueries(path.Slice(15)); + return RequestType.Caching; + } + if (path.Length >= 9 && path[1] == 'u' && path.StartsWith(Paths.Updates)) + { + queries = ParseQueries(path.Slice(9)); + return RequestType.Updates; } + if (path.Length >= 9 && path[1] == 'q' && path.StartsWith(Paths.MultipleQueries)) + { + queries = ParseQueries(path.Slice(9)); + return RequestType.MultipleQueries; + } +#endif + return RequestType.NotRecognized; + } #if !DATABASE - private void ProcessRequest(ref BufferWriter writer) + private void ProcessRequest(ref BufferWriter writer) + { + if (_requestType == RequestType.PlainText) { - if (_requestType == RequestType.PlainText) - { - PlainText(ref writer); - } - else if (_requestType == RequestType.Json) - { - Json(ref writer, Writer); - } - else - { - Default(ref writer); - } + PlainText(ref writer); } -#else - - private static int ParseQueries(ReadOnlySpan parameter) + else if (_requestType == RequestType.Json) { - if (!Utf8Parser.TryParse(parameter, out int queries, out _)) - { - queries = 1; - } - else - { - queries = Math.Clamp(queries, 1, 500); - } - - return queries; + Json(ref writer, Writer); } - - private Task ProcessRequestAsync() => _requestType switch - { - RequestType.FortunesRaw => FortunesRaw(Writer), - RequestType.FortunesDapper => FortunesDapper(Writer), - RequestType.FortunesEf => FortunesEf(Writer), - RequestType.SingleQuery => SingleQuery(Writer), - RequestType.Caching => Caching(Writer, _queries), - RequestType.Updates => Updates(Writer, _queries), - RequestType.MultipleQueries => MultipleQueries(Writer, _queries), - _ => Default(Writer) - }; - - private static Task Default(PipeWriter pipeWriter) + else { - var writer = GetWriter(pipeWriter, sizeHint: _defaultPreamble.Length + DateHeader.HeaderBytes.Length); Default(ref writer); - writer.Commit(); - return Task.CompletedTask; } -#endif - private static ReadOnlySpan _defaultPreamble => - "HTTP/1.1 200 OK\r\n"u8 + - "Server: K"u8 + "\r\n"u8 + - "Content-Type: text/plain"u8 + - "Content-Length: 0"u8; + } +#else - private static void Default(ref BufferWriter writer) + private static int ParseQueries(ReadOnlySpan parameter) + { + if (!Utf8Parser.TryParse(parameter, out int queries, out _)) { - writer.Write(_defaultPreamble); - - // Date header - writer.Write(DateHeader.HeaderBytes); + queries = 1; } - - private enum RequestType + else { - NotRecognized, - PlainText, - Json, - FortunesRaw, - FortunesDapper, - FortunesEf, - SingleQuery, - Caching, - Updates, - MultipleQueries + queries = Math.Clamp(queries, 1, 500); } + + return queries; + } + + private Task ProcessRequestAsync() => _requestType switch + { + RequestType.FortunesRaw => FortunesRaw(Writer), + RequestType.FortunesDapper => FortunesDapper(Writer), + RequestType.FortunesEf => FortunesEf(Writer), + RequestType.SingleQuery => SingleQuery(Writer), + RequestType.Caching => Caching(Writer, _queries), + RequestType.Updates => Updates(Writer, _queries), + RequestType.MultipleQueries => MultipleQueries(Writer, _queries), + _ => Default(Writer) + }; + + private static Task Default(PipeWriter pipeWriter) + { + var writer = GetWriter(pipeWriter, sizeHint: _defaultPreamble.Length + DateHeader.HeaderBytes.Length); + Default(ref writer); + writer.Commit(); + return Task.CompletedTask; + } +#endif + private static ReadOnlySpan _defaultPreamble => + "HTTP/1.1 200 OK\r\n"u8 + + "Server: K"u8 + "\r\n"u8 + + "Content-Type: text/plain"u8 + + "Content-Length: 0"u8; + + private static void Default(ref BufferWriter writer) + { + writer.Write(_defaultPreamble); + + // Date header + writer.Write(DateHeader.HeaderBytes); + } + + private enum RequestType + { + NotRecognized, + PlainText, + Json, + FortunesRaw, + FortunesDapper, + FortunesEf, + SingleQuery, + Caching, + Updates, + MultipleQueries } } diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedBufferWriter.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs similarity index 89% rename from src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedBufferWriter.cs rename to src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs index 66c74b964..d08c347d3 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedBufferWriter.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs @@ -2,18 +2,21 @@ using System.Buffers; using System.Buffers.Text; using System.Diagnostics; +using System.IO.Pipelines; using System.Numerics; using System.Runtime.CompilerServices; +using System.Threading; +using System.Threading.Tasks; namespace PlatformBenchmarks; -internal sealed class ChunkedBufferWriter : IBufferWriter where TWriter : IBufferWriter +internal sealed class ChunkedPipeWriter : PipeWriter { private const int DefaultChunkSizeHint = 2048; private static readonly StandardFormat DefaultHexFormat = GetHexFormat(DefaultChunkSizeHint); private static ReadOnlySpan ChunkTerminator => "\r\n"u8; - private TWriter _output; + private PipeWriter _output; private int _chunkSizeHint; private StandardFormat _hexFormat = DefaultHexFormat; private Memory _currentFullChunk; @@ -23,12 +26,12 @@ internal sealed class ChunkedBufferWriter : IBufferWriter where T public Memory Memory => _currentChunk; - public TWriter Output => _output; + public PipeWriter Output => _output; public int Buffered => _buffered; [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetOutput(TWriter output, int chunkSizeHint = DefaultChunkSizeHint) + public void SetOutput(PipeWriter output, int chunkSizeHint = DefaultChunkSizeHint) { _buffered = 0; _chunkSizeHint = chunkSizeHint; @@ -49,7 +52,7 @@ public void Reset() } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void Advance(int count) + public override void Advance(int count) { ThrowIfEnded(); @@ -57,7 +60,7 @@ public void Advance(int count) _currentChunk = _currentChunk[count..]; } - public Memory GetMemory(int sizeHint = 0) + public override Memory GetMemory(int sizeHint = 0) { ThrowIfEnded(); @@ -68,17 +71,28 @@ public Memory GetMemory(int sizeHint = 0) return _currentChunk; } - public Span GetSpan(int sizeHint = 0) => GetMemory(sizeHint).Span; + public override Span GetSpan(int sizeHint = 0) => GetMemory(sizeHint).Span; - public void End() + public override void CancelPendingFlush() + { + _output.CancelPendingFlush(); + } + + public override void Complete(Exception exception = null) { ThrowIfEnded(); CommitCurrentChunk(isFinal: true); + _output.Complete(exception); _ended = true; } + public override ValueTask FlushAsync(CancellationToken cancellationToken = default) + { + return _output.FlushAsync(cancellationToken); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] private static StandardFormat GetHexFormat(int maxValue) { diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/PlatformBenchmarks.binlog b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/PlatformBenchmarks.binlog new file mode 100644 index 0000000000000000000000000000000000000000..3735dbe8d96948a34102cbfe1a6ee218b0474e49 GIT binary patch literal 146471 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

!D*&HZN~*0#%gKs?gH{B38^bqb) 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 literal 0 HcmV?d00001 diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/PlatformBenchmarks.csproj b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/PlatformBenchmarks.csproj index 0a5159f33..d7c3442de 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/PlatformBenchmarks.csproj +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/PlatformBenchmarks.csproj @@ -1,7 +1,7 @@  - net7.0;net8.0 + net8.0;net9.0 Exe true true @@ -22,19 +22,14 @@ - - - - - - + - + diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Program.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Program.cs index 58238dbe2..21ca01a86 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Program.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Program.cs @@ -7,6 +7,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Logging; #if DATABASE using Npgsql; #endif @@ -41,7 +42,7 @@ public static async Task Main(string[] args) #if DATABASE try { - await BenchmarkApplication.RawDb.PopulateCache(); + //await BenchmarkApplication.RawDb.PopulateCache(); } catch (Exception ex) { @@ -85,6 +86,7 @@ public static IWebHost BuildWebHost(string[] args) var hostBuilder = new WebHostBuilder() .UseBenchmarksConfiguration(config) + .ConfigureLogging(logging => logging.AddConsole()) .UseKestrel((context, options) => { var endPoints = context.Configuration.CreateIPEndPoints(); diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Properties/launchSettings.json b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Properties/launchSettings.json index 89d1445f7..b6dbfb86f 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Properties/launchSettings.json +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Properties/launchSettings.json @@ -7,7 +7,7 @@ "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" }, - "applicationUrl": "https://localhost:53705;http://localhost:53706" + "applicationUrl": "http://localhost:53705;http://localhost:53706" } } } \ No newline at end of file diff --git a/src/BenchmarksApps/TechEmpower/RazorPages/RazorPages.csproj b/src/BenchmarksApps/TechEmpower/RazorPages/RazorPages.csproj index 92f3d4e14..a72c2b522 100644 --- a/src/BenchmarksApps/TechEmpower/RazorPages/RazorPages.csproj +++ b/src/BenchmarksApps/TechEmpower/RazorPages/RazorPages.csproj @@ -1,7 +1,7 @@ - + - net7.0;net8.0 + net8.0;net9.0 enable enable preview @@ -12,17 +12,12 @@ - - - - - - + diff --git a/src/BenchmarksApps/TodosApi/TodosApi.csproj b/src/BenchmarksApps/TodosApi/TodosApi.csproj index 47d7a541e..fcc66b17b 100644 --- a/src/BenchmarksApps/TodosApi/TodosApi.csproj +++ b/src/BenchmarksApps/TodosApi/TodosApi.csproj @@ -14,7 +14,6 @@ - @@ -28,12 +27,16 @@ - + + + + + - + - + diff --git a/src/Downstream/Downstream.csproj b/src/Downstream/Downstream.csproj index 3f208e3b5..4f9c3c8bc 100644 --- a/src/Downstream/Downstream.csproj +++ b/src/Downstream/Downstream.csproj @@ -1,7 +1,7 @@  - net7.0 + net8.0 latest diff --git a/src/TcpClient/TcpClient.csproj b/src/TcpClient/TcpClient.csproj index 0f02f80f0..cef235c61 100644 --- a/src/TcpClient/TcpClient.csproj +++ b/src/TcpClient/TcpClient.csproj @@ -2,7 +2,7 @@ Exe - net7.0 + net8.0 From f88ae31e47cfe19e7de1f2691d1690764ac40a73 Mon Sep 17 00:00:00 2001 From: Damian Edwards Date: Mon, 16 Dec 2024 11:51:06 -0800 Subject: [PATCH 2/9] Fix local workarounds --- .../PlatformBenchmarks/BenchmarkApplication.Fortunes.cs | 4 ++-- src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Program.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Fortunes.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Fortunes.cs index 12b0d94d8..70bbf2c8a 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Fortunes.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Fortunes.cs @@ -16,9 +16,9 @@ private async Task FortunesRaw(PipeWriter pipeWriter) { await OutputFortunes( pipeWriter, - //await RawDb.LoadFortunesRows(), + await RawDb.LoadFortunesRows(), // To isolate template rendering from DB access, comment out the line above and uncomment the line below - await RawDb.LoadFortunesRowsNoDb(), + //await RawDb.LoadFortunesRowsNoDb(), Templates.FortunesUtf8.Create); } diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Program.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Program.cs index 21ca01a86..3040c12ad 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Program.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Program.cs @@ -42,7 +42,7 @@ public static async Task Main(string[] args) #if DATABASE try { - //await BenchmarkApplication.RawDb.PopulateCache(); + await BenchmarkApplication.RawDb.PopulateCache(); } catch (Exception ex) { @@ -86,7 +86,7 @@ public static IWebHost BuildWebHost(string[] args) var hostBuilder = new WebHostBuilder() .UseBenchmarksConfiguration(config) - .ConfigureLogging(logging => logging.AddConsole()) + //.ConfigureLogging(logging => logging.AddConsole()) .UseKestrel((context, options) => { var endPoints = context.Configuration.CreateIPEndPoints(); From c370e5277c2401648acf8e97f9ee6a9188e9bd83 Mon Sep 17 00:00:00 2001 From: Damian Edwards Date: Mon, 16 Dec 2024 13:10:56 -0800 Subject: [PATCH 3/9] Update Minimal to use latest RazorSlices --- src/BenchmarksApps/TechEmpower/Minimal/Program.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/BenchmarksApps/TechEmpower/Minimal/Program.cs b/src/BenchmarksApps/TechEmpower/Minimal/Program.cs index 287f7a035..9b0d160e4 100644 --- a/src/BenchmarksApps/TechEmpower/Minimal/Program.cs +++ b/src/BenchmarksApps/TechEmpower/Minimal/Program.cs @@ -5,6 +5,7 @@ using Minimal; using Minimal.Database; using Minimal.Models; +using Minimal.Templates; var builder = WebApplication.CreateBuilder(args); @@ -37,12 +38,11 @@ app.MapGet("/db/result", async (Db db) => Results.Json(await db.LoadSingleQueryRow())); -var createFortunesTemplate = RazorSlice.ResolveSliceFactory>("/Templates/Fortunes.cshtml"); var htmlEncoder = CreateHtmlEncoder(); app.MapGet("/fortunes", async (HttpContext context, Db db) => { var fortunes = await db.LoadFortunesRows(); - var template = (RazorSliceHttpResult>)createFortunesTemplate(fortunes); + var template = (RazorSliceHttpResult>)Fortunes.Create(fortunes); template.HtmlEncoder = htmlEncoder; return template; }); From 18434778caeba45ada37e6eac4c91ac57dd42fe2 Mon Sep 17 00:00:00 2001 From: Damian Edwards Date: Mon, 16 Dec 2024 15:20:56 -0800 Subject: [PATCH 4/9] Fix ChunkedPipeWriter.cs --- .../TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs index d08c347d3..a89a4b8e7 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs @@ -84,7 +84,6 @@ public override void Complete(Exception exception = null) CommitCurrentChunk(isFinal: true); - _output.Complete(exception); _ended = true; } From b275bbf0c0b89825b7f44ff763129f20fe589982 Mon Sep 17 00:00:00 2001 From: Damian Edwards Date: Mon, 16 Dec 2024 15:43:44 -0800 Subject: [PATCH 5/9] Update Program.cs --- src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Program.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Program.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Program.cs index 3040c12ad..58238dbe2 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Program.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/Program.cs @@ -7,7 +7,6 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Logging; #if DATABASE using Npgsql; #endif @@ -86,7 +85,6 @@ public static IWebHost BuildWebHost(string[] args) var hostBuilder = new WebHostBuilder() .UseBenchmarksConfiguration(config) - //.ConfigureLogging(logging => logging.AddConsole()) .UseKestrel((context, options) => { var endPoints = context.Configuration.CreateIPEndPoints(); From 26ea1f5e5ed81c6aeddaa66d57393a3e5ac9f0c0 Mon Sep 17 00:00:00 2001 From: Damian Edwards Date: Mon, 16 Dec 2024 16:35:19 -0800 Subject: [PATCH 6/9] Make ChunkedPipeWriter pass through UnflushedBytes --- .../TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs index a89a4b8e7..8ee196e10 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs @@ -51,6 +51,10 @@ public void Reset() _currentChunk = default; } + public override bool CanGetUnflushedBytes => _output.CanGetUnflushedBytes; + + public override long UnflushedBytes => _output.UnflushedBytes; + [MethodImpl(MethodImplOptions.AggressiveInlining)] public override void Advance(int count) { From 23cc21ae2e5b353e26e516360a342c77e2170f5a Mon Sep 17 00:00:00 2001 From: Damian Edwards Date: Mon, 16 Dec 2024 16:43:14 -0800 Subject: [PATCH 7/9] Seal BenchmarkApplication --- .../PlatformBenchmarks/BenchmarkApplication.Caching.cs | 2 +- .../PlatformBenchmarks/BenchmarkApplication.HttpConnection.cs | 2 +- .../TechEmpower/PlatformBenchmarks/BenchmarkApplication.Json.cs | 2 +- .../PlatformBenchmarks/BenchmarkApplication.MultipleQueries.cs | 2 +- .../PlatformBenchmarks/BenchmarkApplication.Plaintext.cs | 2 +- .../PlatformBenchmarks/BenchmarkApplication.SingleQuery.cs | 2 +- .../PlatformBenchmarks/BenchmarkApplication.Updates.cs | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Caching.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Caching.cs index 24896e59b..015125050 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Caching.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Caching.cs @@ -6,7 +6,7 @@ namespace PlatformBenchmarks { - public partial class BenchmarkApplication + public sealed partial class BenchmarkApplication { private static async Task Caching(PipeWriter pipeWriter, int count) { diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.HttpConnection.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.HttpConnection.cs index 4bd1bc6a9..f9066761f 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.HttpConnection.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.HttpConnection.cs @@ -13,7 +13,7 @@ namespace PlatformBenchmarks { - public partial class BenchmarkApplication : IHttpConnection + public sealed partial class BenchmarkApplication : IHttpConnection { private State _state; diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Json.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Json.cs index f196bba23..3d973bdb5 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Json.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Json.cs @@ -7,7 +7,7 @@ namespace PlatformBenchmarks { - public partial class BenchmarkApplication + public sealed partial class BenchmarkApplication { #if !DATABASE private static ReadOnlySpan _jsonPreamble => diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.MultipleQueries.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.MultipleQueries.cs index d7fd1bd12..961bfc249 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.MultipleQueries.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.MultipleQueries.cs @@ -8,7 +8,7 @@ namespace PlatformBenchmarks { - public partial class BenchmarkApplication + public sealed partial class BenchmarkApplication { private static async Task MultipleQueries(PipeWriter pipeWriter, int count) { diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Plaintext.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Plaintext.cs index 5f9edb358..90c9fab48 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Plaintext.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Plaintext.cs @@ -5,7 +5,7 @@ namespace PlatformBenchmarks { - public partial class BenchmarkApplication + public sealed partial class BenchmarkApplication { private static ReadOnlySpan _plaintextPreamble => "HTTP/1.1 200 OK\r\n"u8 + diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.SingleQuery.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.SingleQuery.cs index 5c00d87c8..f273a8192 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.SingleQuery.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.SingleQuery.cs @@ -7,7 +7,7 @@ namespace PlatformBenchmarks { - public partial class BenchmarkApplication + public sealed partial class BenchmarkApplication { private static async Task SingleQuery(PipeWriter pipeWriter) { diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Updates.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Updates.cs index 2d5243649..d3cf8c561 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Updates.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Updates.cs @@ -7,7 +7,7 @@ namespace PlatformBenchmarks { - public partial class BenchmarkApplication + public sealed partial class BenchmarkApplication { private static async Task Updates(PipeWriter pipeWriter, int count) { From 2e718838ff1770cb894fd41534f2b314a2cb85ef Mon Sep 17 00:00:00 2001 From: Damian Edwards Date: Mon, 16 Dec 2024 16:56:17 -0800 Subject: [PATCH 8/9] PR feedback --- .../BenchmarkApplication.Fortunes.cs | 2 +- .../PlatformBenchmarks/BenchmarkApplication.cs | 8 -------- .../PlatformBenchmarks.binlog | Bin 146471 -> 0 bytes 3 files changed, 1 insertion(+), 9 deletions(-) delete mode 100644 src/BenchmarksApps/TechEmpower/PlatformBenchmarks/PlatformBenchmarks.binlog diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Fortunes.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Fortunes.cs index 70bbf2c8a..5049e4630 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Fortunes.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.Fortunes.cs @@ -9,7 +9,7 @@ namespace PlatformBenchmarks; -public partial class BenchmarkApplication +public sealed partial class BenchmarkApplication { #if DATABASE private async Task FortunesRaw(PipeWriter pipeWriter) diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.cs index 6cec36728..816d03a61 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/BenchmarkApplication.cs @@ -10,8 +10,6 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http; using Microsoft.Extensions.ObjectPool; -using PlatformBenchmarks.Templates; -using RazorSlices; namespace PlatformBenchmarks; @@ -57,12 +55,6 @@ public bool Return(ChunkedPipeWriter writer) } } -#if DATABASE - //private readonly static Func, RazorSlice> FortunesTemplateFactory = FortunesUtf8.Create(; - //private readonly static SliceFactory> FortunesDapperTemplateFactory = RazorSlice.ResolveSliceFactory>("/Templates/FortunesUtf16.cshtml"); - //private readonly static SliceFactory> FortunesEfTemplateFactory = RazorSlice.ResolveSliceFactory>("/Templates/FortunesEf.cshtml"); -#endif - [ThreadStatic] private static Utf8JsonWriter t_writer; diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/PlatformBenchmarks.binlog b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/PlatformBenchmarks.binlog deleted file mode 100644 index 3735dbe8d96948a34102cbfe1a6ee218b0474e49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146471 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

!D*&HZN~*0#%gKs?gH{B38^bqb) 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 From 6799bb7d3eaaeb0d1d12812aef83d9d57a0f789f Mon Sep 17 00:00:00 2001 From: Damian Edwards Date: Mon, 16 Dec 2024 17:09:06 -0800 Subject: [PATCH 9/9] Track unflushed bytes in ChunkedPipeWriter --- .../PlatformBenchmarks/ChunkedPipeWriter.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs index 8ee196e10..5f6a378f7 100644 --- a/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs +++ b/src/BenchmarksApps/TechEmpower/PlatformBenchmarks/ChunkedPipeWriter.cs @@ -22,6 +22,7 @@ internal sealed class ChunkedPipeWriter : PipeWriter private Memory _currentFullChunk; private Memory _currentChunk; private int _buffered; + private long _unflushedBytes; private bool _ended = false; public Memory Memory => _currentChunk; @@ -34,6 +35,7 @@ internal sealed class ChunkedPipeWriter : PipeWriter public void SetOutput(PipeWriter output, int chunkSizeHint = DefaultChunkSizeHint) { _buffered = 0; + _unflushedBytes = 0; _chunkSizeHint = chunkSizeHint; _output = output; @@ -44,6 +46,7 @@ public void SetOutput(PipeWriter output, int chunkSizeHint = DefaultChunkSizeHin public void Reset() { _buffered = 0; + _unflushedBytes = 0; _output = default; _ended = false; _hexFormat = DefaultHexFormat; @@ -51,9 +54,9 @@ public void Reset() _currentChunk = default; } - public override bool CanGetUnflushedBytes => _output.CanGetUnflushedBytes; + public override bool CanGetUnflushedBytes => true; - public override long UnflushedBytes => _output.UnflushedBytes; + public override long UnflushedBytes => _unflushedBytes; [MethodImpl(MethodImplOptions.AggressiveInlining)] public override void Advance(int count) @@ -61,6 +64,7 @@ public override void Advance(int count) ThrowIfEnded(); _buffered += count; + _unflushedBytes += count; _currentChunk = _currentChunk[count..]; } @@ -93,7 +97,13 @@ public override void Complete(Exception exception = null) public override ValueTask FlushAsync(CancellationToken cancellationToken = default) { - return _output.FlushAsync(cancellationToken); + CommitCurrentChunk(isFinal: false); + + var flushTask = _output.FlushAsync(cancellationToken); + + _unflushedBytes = 0; + + return flushTask; } [MethodImpl(MethodImplOptions.AggressiveInlining)]