Skip to content

Measure the per request split between GraphQL.NET, the library and EF - #1405

Merged
SimonCropp merged 1 commit into
mainfrom
request-split-benchmarks
Sep 10, 2026
Merged

Measure the per request split between GraphQL.NET, the library and EF#1405
SimonCropp merged 1 commit into
mainfrom
request-split-benchmarks

Conversation

@SimonCropp

Copy link
Copy Markdown
Owner

Benchmarks that isolate the stages of a request: GraphQL.NET alone for the same result shape, the full request, the argument and projection trees the library builds, and EF executing the projected query, on InMemory and on LocalDB. The trees are 0.2% of a request, so a per shape cache of the projection has nothing to recover; the numbers and the source generator assessment are recorded in todo.md.

The Benchmarks assembly is signed so the library can expose its internals to the stage benchmarks. Each setup uses its own InMemory database name, since GlobalSetup runs once per method and a shared name seeds on top of the previous data.

Benchmarks that isolate the stages of a request: GraphQL.NET alone for the same result shape, the full request, the argument and projection trees the library builds, and EF executing the projected query, on InMemory and on LocalDB. The trees are 0.2% of a request, so a per shape cache of the projection has nothing to recover; the numbers and the source generator assessment are recorded in todo.md.

The Benchmarks assembly is signed so the library can expose its internals to the stage benchmarks. Each setup uses its own InMemory database name, since GlobalSetup runs once per method and a shared name seeds on top of the previous data.
@SimonCropp
SimonCropp merged commit f7e9007 into main Sep 10, 2026
3 of 5 checks passed
@SimonCropp
SimonCropp deleted the request-split-benchmarks branch September 10, 2026 11:19
@github-actions
github-actions Bot restored the request-split-benchmarks branch September 10, 2026 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant