Repository navigation
Reduce interface dispatch to improve performance - #5199
Merged
Merged
Conversation
lahma
force-pushed
the
reduce-interface-dispatch
branch
3 times, most recently
from
July 3, 2025 09:18
bb56af7 to
2e32876
Compare
lahma
force-pushed
the
reduce-interface-dispatch
branch
from
July 3, 2025 09:23
2e32876 to
2fc26b3
Compare
This was referenced Aug 4, 2025
github-actions Bot
pushed a commit
to EelcoLos/nx-tinkering
that referenced
this pull request
Aug 5, 2025
Updated [NSwag.Core](https://github.com/RicoSuter/NSwag) from 14.4.0 to 14.5.0. <details> <summary>Release notes</summary> _Sourced from [NSwag.Core's releases](https://github.com/RicoSuter/NSwag/releases)._ ## 14.5.0 ## What's Changed * Better support for reading yaml from a stream by @βsimonthum in RicoSuter/NSwag#5170 * #β4821 Cleanup packages to use those provided by framework by @βthompson-tomo in RicoSuter/NSwag#4831 * Set GH actions target .NET SDK to 9.0.204 by @βlahma in RicoSuter/NSwag#5172 * Better support for reading yaml from a stream (part two) by @βsimonthum in RicoSuter/NSwag#5171 * Avoid multiple enumeration of array typed path parameters by @βKhyalis in RicoSuter/NSwag#5149 * Restores all disabled compiler warnings. 649 and 8765 were missing. by @βcarlbjorknas in RicoSuter/NSwag#4962 * Fix to explode array parameters implicitly when SchemaType is OpenAPI 3.0 by @βPhoosha in RicoSuter/NSwag#5176 * Adding cancellationToken to all calls to ReadAsStringAsync() and ReadAsStreamAsync() by @βarshrp in RicoSuter/NSwag#5187 * Remove requirement for specific NET SDK in GH Actions by @βlahma in RicoSuter/NSwag#5188 * Adjusted cancellationToken to work for all NSwag supported frameworks by @βarshrp in RicoSuter/NSwag#5190 * Allow setting of the client interface access modifier based on the model access modifier by @βpbolduc in RicoSuter/NSwag#4820 * Prioritize wildcard over json over first entry for accept content-type by @βmdi1984 in RicoSuter/NSwag#5198 * Reduce interface dispatch to improve performance by @βlahma in RicoSuter/NSwag#5199 * Surface ExtensionData in CSharpControllerTemplateModel by @βhirudan in RicoSuter/NSwag#5204 * Expose the UseRequiredKeyword on CSharpClientGeneratorSettings for CSharp client generator by @βr-englund in RicoSuter/NSwag#5205 * Fix to expose an optional param for AbortSignal (for axios) / CancelToken (for fetch) when GenerateClientInterfaces = true by @βtomvdk in RicoSuter/NSwag#5202 * Sort client operation responses by status code by @βlahma in RicoSuter/NSwag#5206 * TSC UpdateUseDtoClassAndDataConversionCodeProperties cleanup by @βlahma in RicoSuter/NSwag#5212 * Update Microsoft.AspNetCore.* references to target 2.3.0 by @βlahma in RicoSuter/NSwag#5214 * Convert to using Central Package Management by @βlahma in RicoSuter/NSwag#5217 * Convert NSwagStudio setup to use WiX 6 by @βlahma in RicoSuter/NSwag#5218 * Add support for TypeScript compilation testing by @βlahma in RicoSuter/NSwag#5219 * Replace TypeScript string contain asserts with Verify tests by @βlahma in RicoSuter/NSwag#5220 * Replace C# string contain asserts with Verify tests by @βlahma in RicoSuter/NSwag#5221 * Remove deprecated tslint suppression by @βCaringDev in RicoSuter/NSwag#5020 * Fix empty enumerable parameter handling in C# client by @βlahma in RicoSuter/NSwag#5222 * Fix: C# Code Generation generates method with return default(void) by @βnzeemin in RicoSuter/NSwag#4826 * Optimize DefaultParameterNameGenerator and add some more char cleanup by @βlahma in RicoSuter/NSwag#5223 * Convert more tests to use verify by @βlahma in RicoSuter/NSwag#5224 * Convert to xUnit v3 by @βlahma in RicoSuter/NSwag#5225 * Ensure operation names start with alphanumeric character by @βlahma in RicoSuter/NSwag#5227 * Change GenerateSampleSpecificationTests to auto verify mode by @βlahma in RicoSuter/NSwag#5228 * Show DisplayName for conflicting actions by @βSaibamen in RicoSuter/NSwag#5057 * Fix: When generated TS class name is "Error", it is conflicting with TS Error class by @βdoruk-info in RicoSuter/NSwag#5032 * Update NJsonSchema to 11.4.0, update testsuite to reflect a change in class name generation by @βWolfgangHG in RicoSuter/NSwag#5177 * Improve nswag.js parameter handling by @βKaterSchnurz in RicoSuter/NSwag#5232 * Use TypeScript 4.3 as default testing version by @βlahma in RicoSuter/NSwag#5234 * v14.5.0 by @βRicoSuter in RicoSuter/NSwag#5236 ## New Contributors * @βsimonthum made their first contribution in RicoSuter/NSwag#5170 * @βthompson-tomo made their first contribution in RicoSuter/NSwag#4831 * @βKhyalis made their first contribution in RicoSuter/NSwag#5149 * @βcarlbjorknas made their first contribution in RicoSuter/NSwag#4962 * @βPhoosha made their first contribution in RicoSuter/NSwag#5176 * @βarshrp made their first contribution in RicoSuter/NSwag#5187 * @βpbolduc made their first contribution in RicoSuter/NSwag#4820 ... (truncated) Commits viewable in [compare view](RicoSuter/NSwag@v14.4.0...v14.5.0). </details> Updated [NSwag.Core.Yaml](https://github.com/RicoSuter/NSwag) from 14.4.0 to 14.5.0. <details> <summary>Release notes</summary> _Sourced from [NSwag.Core.Yaml's releases](https://github.com/RicoSuter/NSwag/releases)._ ## 14.5.0 ## What's Changed * Better support for reading yaml from a stream by @βsimonthum in RicoSuter/NSwag#5170 * #β4821 Cleanup packages to use those provided by framework by @βthompson-tomo in RicoSuter/NSwag#4831 * Set GH actions target .NET SDK to 9.0.204 by @βlahma in RicoSuter/NSwag#5172 * Better support for reading yaml from a stream (part two) by @βsimonthum in RicoSuter/NSwag#5171 * Avoid multiple enumeration of array typed path parameters by @βKhyalis in RicoSuter/NSwag#5149 * Restores all disabled compiler warnings. 649 and 8765 were missing. by @βcarlbjorknas in RicoSuter/NSwag#4962 * Fix to explode array parameters implicitly when SchemaType is OpenAPI 3.0 by @βPhoosha in RicoSuter/NSwag#5176 * Adding cancellationToken to all calls to ReadAsStringAsync() and ReadAsStreamAsync() by @βarshrp in RicoSuter/NSwag#5187 * Remove requirement for specific NET SDK in GH Actions by @βlahma in RicoSuter/NSwag#5188 * Adjusted cancellationToken to work for all NSwag supported frameworks by @βarshrp in RicoSuter/NSwag#5190 * Allow setting of the client interface access modifier based on the model access modifier by @βpbolduc in RicoSuter/NSwag#4820 * Prioritize wildcard over json over first entry for accept content-type by @βmdi1984 in RicoSuter/NSwag#5198 * Reduce interface dispatch to improve performance by @βlahma in RicoSuter/NSwag#5199 * Surface ExtensionData in CSharpControllerTemplateModel by @βhirudan in RicoSuter/NSwag#5204 * Expose the UseRequiredKeyword on CSharpClientGeneratorSettings for CSharp client generator by @βr-englund in RicoSuter/NSwag#5205 * Fix to expose an optional param for AbortSignal (for axios) / CancelToken (for fetch) when GenerateClientInterfaces = true by @βtomvdk in RicoSuter/NSwag#5202 * Sort client operation responses by status code by @βlahma in RicoSuter/NSwag#5206 * TSC UpdateUseDtoClassAndDataConversionCodeProperties cleanup by @βlahma in RicoSuter/NSwag#5212 * Update Microsoft.AspNetCore.* references to target 2.3.0 by @βlahma in RicoSuter/NSwag#5214 * Convert to using Central Package Management by @βlahma in RicoSuter/NSwag#5217 * Convert NSwagStudio setup to use WiX 6 by @βlahma in RicoSuter/NSwag#5218 * Add support for TypeScript compilation testing by @βlahma in RicoSuter/NSwag#5219 * Replace TypeScript string contain asserts with Verify tests by @βlahma in RicoSuter/NSwag#5220 * Replace C# string contain asserts with Verify tests by @βlahma in RicoSuter/NSwag#5221 * Remove deprecated tslint suppression by @βCaringDev in RicoSuter/NSwag#5020 * Fix empty enumerable parameter handling in C# client by @βlahma in RicoSuter/NSwag#5222 * Fix: C# Code Generation generates method with return default(void) by @βnzeemin in RicoSuter/NSwag#4826 * Optimize DefaultParameterNameGenerator and add some more char cleanup by @βlahma in RicoSuter/NSwag#5223 * Convert more tests to use verify by @βlahma in RicoSuter/NSwag#5224 * Convert to xUnit v3 by @βlahma in RicoSuter/NSwag#5225 * Ensure operation names start with alphanumeric character by @βlahma in RicoSuter/NSwag#5227 * Change GenerateSampleSpecificationTests to auto verify mode by @βlahma in RicoSuter/NSwag#5228 * Show DisplayName for conflicting actions by @βSaibamen in RicoSuter/NSwag#5057 * Fix: When generated TS class name is "Error", it is conflicting with TS Error class by @βdoruk-info in RicoSuter/NSwag#5032 * Update NJsonSchema to 11.4.0, update testsuite to reflect a change in class name generation by @βWolfgangHG in RicoSuter/NSwag#5177 * Improve nswag.js parameter handling by @βKaterSchnurz in RicoSuter/NSwag#5232 * Use TypeScript 4.3 as default testing version by @βlahma in RicoSuter/NSwag#5234 * v14.5.0 by @βRicoSuter in RicoSuter/NSwag#5236 ## New Contributors * @βsimonthum made their first contribution in RicoSuter/NSwag#5170 * @βthompson-tomo made their first contribution in RicoSuter/NSwag#4831 * @βKhyalis made their first contribution in RicoSuter/NSwag#5149 * @βcarlbjorknas made their first contribution in RicoSuter/NSwag#4962 * @βPhoosha made their first contribution in RicoSuter/NSwag#5176 * @βarshrp made their first contribution in RicoSuter/NSwag#5187 * @βpbolduc made their first contribution in RicoSuter/NSwag#4820 ... (truncated) Commits viewable in [compare view](RicoSuter/NSwag@v14.4.0...v14.5.0). </details> Updated [NSwag.Generation.AspNetCore](https://github.com/RicoSuter/NSwag) from 14.4.0 to 14.5.0. <details> <summary>Release notes</summary> _Sourced from [NSwag.Generation.AspNetCore's releases](https://github.com/RicoSuter/NSwag/releases)._ ## 14.5.0 ## What's Changed * Better support for reading yaml from a stream by @βsimonthum in RicoSuter/NSwag#5170 * #β4821 Cleanup packages to use those provided by framework by @βthompson-tomo in RicoSuter/NSwag#4831 * Set GH actions target .NET SDK to 9.0.204 by @βlahma in RicoSuter/NSwag#5172 * Better support for reading yaml from a stream (part two) by @βsimonthum in RicoSuter/NSwag#5171 * Avoid multiple enumeration of array typed path parameters by @βKhyalis in RicoSuter/NSwag#5149 * Restores all disabled compiler warnings. 649 and 8765 were missing. by @βcarlbjorknas in RicoSuter/NSwag#4962 * Fix to explode array parameters implicitly when SchemaType is OpenAPI 3.0 by @βPhoosha in RicoSuter/NSwag#5176 * Adding cancellationToken to all calls to ReadAsStringAsync() and ReadAsStreamAsync() by @βarshrp in RicoSuter/NSwag#5187 * Remove requirement for specific NET SDK in GH Actions by @βlahma in RicoSuter/NSwag#5188 * Adjusted cancellationToken to work for all NSwag supported frameworks by @βarshrp in RicoSuter/NSwag#5190 * Allow setting of the client interface access modifier based on the model access modifier by @βpbolduc in RicoSuter/NSwag#4820 * Prioritize wildcard over json over first entry for accept content-type by @βmdi1984 in RicoSuter/NSwag#5198 * Reduce interface dispatch to improve performance by @βlahma in RicoSuter/NSwag#5199 * Surface ExtensionData in CSharpControllerTemplateModel by @βhirudan in RicoSuter/NSwag#5204 * Expose the UseRequiredKeyword on CSharpClientGeneratorSettings for CSharp client generator by @βr-englund in RicoSuter/NSwag#5205 * Fix to expose an optional param for AbortSignal (for axios) / CancelToken (for fetch) when GenerateClientInterfaces = true by @βtomvdk in RicoSuter/NSwag#5202 * Sort client operation responses by status code by @βlahma in RicoSuter/NSwag#5206 * TSC UpdateUseDtoClassAndDataConversionCodeProperties cleanup by @βlahma in RicoSuter/NSwag#5212 * Update Microsoft.AspNetCore.* references to target 2.3.0 by @βlahma in RicoSuter/NSwag#5214 * Convert to using Central Package Management by @βlahma in RicoSuter/NSwag#5217 * Convert NSwagStudio setup to use WiX 6 by @βlahma in RicoSuter/NSwag#5218 * Add support for TypeScript compilation testing by @βlahma in RicoSuter/NSwag#5219 * Replace TypeScript string contain asserts with Verify tests by @βlahma in RicoSuter/NSwag#5220 * Replace C# string contain asserts with Verify tests by @βlahma in RicoSuter/NSwag#5221 * Remove deprecated tslint suppression by @βCaringDev in RicoSuter/NSwag#5020 * Fix empty enumerable parameter handling in C# client by @βlahma in RicoSuter/NSwag#5222 * Fix: C# Code Generation generates method with return default(void) by @βnzeemin in RicoSuter/NSwag#4826 * Optimize DefaultParameterNameGenerator and add some more char cleanup by @βlahma in RicoSuter/NSwag#5223 * Convert more tests to use verify by @βlahma in RicoSuter/NSwag#5224 * Convert to xUnit v3 by @βlahma in RicoSuter/NSwag#5225 * Ensure operation names start with alphanumeric character by @βlahma in RicoSuter/NSwag#5227 * Change GenerateSampleSpecificationTests to auto verify mode by @βlahma in RicoSuter/NSwag#5228 * Show DisplayName for conflicting actions by @βSaibamen in RicoSuter/NSwag#5057 * Fix: When generated TS class name is "Error", it is conflicting with TS Error class by @βdoruk-info in RicoSuter/NSwag#5032 * Update NJsonSchema to 11.4.0, update testsuite to reflect a change in class name generation by @βWolfgangHG in RicoSuter/NSwag#5177 * Improve nswag.js parameter handling by @βKaterSchnurz in RicoSuter/NSwag#5232 * Use TypeScript 4.3 as default testing version by @βlahma in RicoSuter/NSwag#5234 * v14.5.0 by @βRicoSuter in RicoSuter/NSwag#5236 ## New Contributors * @βsimonthum made their first contribution in RicoSuter/NSwag#5170 * @βthompson-tomo made their first contribution in RicoSuter/NSwag#4831 * @βKhyalis made their first contribution in RicoSuter/NSwag#5149 * @βcarlbjorknas made their first contribution in RicoSuter/NSwag#4962 * @βPhoosha made their first contribution in RicoSuter/NSwag#5176 * @βarshrp made their first contribution in RicoSuter/NSwag#5187 * @βpbolduc made their first contribution in RicoSuter/NSwag#4820 ... (truncated) Commits viewable in [compare view](RicoSuter/NSwag@v14.4.0...v14.5.0). </details> Updated [NSwag.MSBuild](https://github.com/RicoSuter/NSwag) from 14.4.0 to 14.5.0. <details> <summary>Release notes</summary> _Sourced from [NSwag.MSBuild's releases](https://github.com/RicoSuter/NSwag/releases)._ ## 14.5.0 ## What's Changed * Better support for reading yaml from a stream by @βsimonthum in RicoSuter/NSwag#5170 * #β4821 Cleanup packages to use those provided by framework by @βthompson-tomo in RicoSuter/NSwag#4831 * Set GH actions target .NET SDK to 9.0.204 by @βlahma in RicoSuter/NSwag#5172 * Better support for reading yaml from a stream (part two) by @βsimonthum in RicoSuter/NSwag#5171 * Avoid multiple enumeration of array typed path parameters by @βKhyalis in RicoSuter/NSwag#5149 * Restores all disabled compiler warnings. 649 and 8765 were missing. by @βcarlbjorknas in RicoSuter/NSwag#4962 * Fix to explode array parameters implicitly when SchemaType is OpenAPI 3.0 by @βPhoosha in RicoSuter/NSwag#5176 * Adding cancellationToken to all calls to ReadAsStringAsync() and ReadAsStreamAsync() by @βarshrp in RicoSuter/NSwag#5187 * Remove requirement for specific NET SDK in GH Actions by @βlahma in RicoSuter/NSwag#5188 * Adjusted cancellationToken to work for all NSwag supported frameworks by @βarshrp in RicoSuter/NSwag#5190 * Allow setting of the client interface access modifier based on the model access modifier by @βpbolduc in RicoSuter/NSwag#4820 * Prioritize wildcard over json over first entry for accept content-type by @βmdi1984 in RicoSuter/NSwag#5198 * Reduce interface dispatch to improve performance by @βlahma in RicoSuter/NSwag#5199 * Surface ExtensionData in CSharpControllerTemplateModel by @βhirudan in RicoSuter/NSwag#5204 * Expose the UseRequiredKeyword on CSharpClientGeneratorSettings for CSharp client generator by @βr-englund in RicoSuter/NSwag#5205 * Fix to expose an optional param for AbortSignal (for axios) / CancelToken (for fetch) when GenerateClientInterfaces = true by @βtomvdk in RicoSuter/NSwag#5202 * Sort client operation responses by status code by @βlahma in RicoSuter/NSwag#5206 * TSC UpdateUseDtoClassAndDataConversionCodeProperties cleanup by @βlahma in RicoSuter/NSwag#5212 * Update Microsoft.AspNetCore.* references to target 2.3.0 by @βlahma in RicoSuter/NSwag#5214 * Convert to using Central Package Management by @βlahma in RicoSuter/NSwag#5217 * Convert NSwagStudio setup to use WiX 6 by @βlahma in RicoSuter/NSwag#5218 * Add support for TypeScript compilation testing by @βlahma in RicoSuter/NSwag#5219 * Replace TypeScript string contain asserts with Verify tests by @βlahma in RicoSuter/NSwag#5220 * Replace C# string contain asserts with Verify tests by @βlahma in RicoSuter/NSwag#5221 * Remove deprecated tslint suppression by @βCaringDev in RicoSuter/NSwag#5020 * Fix empty enumerable parameter handling in C# client by @βlahma in RicoSuter/NSwag#5222 * Fix: C# Code Generation generates method with return default(void) by @βnzeemin in RicoSuter/NSwag#4826 * Optimize DefaultParameterNameGenerator and add some more char cleanup by @βlahma in RicoSuter/NSwag#5223 * Convert more tests to use verify by @βlahma in RicoSuter/NSwag#5224 * Convert to xUnit v3 by @βlahma in RicoSuter/NSwag#5225 * Ensure operation names start with alphanumeric character by @βlahma in RicoSuter/NSwag#5227 * Change GenerateSampleSpecificationTests to auto verify mode by @βlahma in RicoSuter/NSwag#5228 * Show DisplayName for conflicting actions by @βSaibamen in RicoSuter/NSwag#5057 * Fix: When generated TS class name is "Error", it is conflicting with TS Error class by @βdoruk-info in RicoSuter/NSwag#5032 * Update NJsonSchema to 11.4.0, update testsuite to reflect a change in class name generation by @βWolfgangHG in RicoSuter/NSwag#5177 * Improve nswag.js parameter handling by @βKaterSchnurz in RicoSuter/NSwag#5232 * Use TypeScript 4.3 as default testing version by @βlahma in RicoSuter/NSwag#5234 * v14.5.0 by @βRicoSuter in RicoSuter/NSwag#5236 ## New Contributors * @βsimonthum made their first contribution in RicoSuter/NSwag#5170 * @βthompson-tomo made their first contribution in RicoSuter/NSwag#4831 * @βKhyalis made their first contribution in RicoSuter/NSwag#5149 * @βcarlbjorknas made their first contribution in RicoSuter/NSwag#4962 * @βPhoosha made their first contribution in RicoSuter/NSwag#5176 * @βarshrp made their first contribution in RicoSuter/NSwag#5187 * @βpbolduc made their first contribution in RicoSuter/NSwag#4820 ... (truncated) Commits viewable in [compare view](RicoSuter/NSwag@v14.4.0...v14.5.0). </details> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This was referenced Sep 1, 2025
This was referenced Feb 6, 2026
This was referenced Feb 17, 2026
This was referenced Feb 24, 2026
This was referenced Mar 3, 2026
This was referenced Mar 19, 2026
This was referenced May 6, 2026
This was referenced Aug 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.