perf: add application scenario benchmark results#341
Conversation
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
There was a problem hiding this comment.
Pull request overview
This PR extends PatternKit’s BenchmarkDotNet “scenario” suite with the first batch of application architecture benchmarks (Repository, Specification, Table Data Gateway) and publishes their fluent-vs-generated timing/allocation snapshot rows in the README and benchmark guides, continuing the benchmark coverage work from #330.
Changes:
- Added dedicated scenario benchmarks for Repository, Specification, and Table Data Gateway under
benchmarks/PatternKit.Benchmarks/Application. - Published new scenario timing rows (construction + execution) for those benchmarks in README and benchmark documentation.
- Updated benchmark results guide snapshot table to include the new scenario entries.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| README.md | Adds snapshot timing rows for Repository/Specification/Table Data Gateway scenarios. |
| docs/guides/benchmarks.md | Adds the same scenario timing rows to the benchmarks guide snapshot. |
| docs/guides/benchmark-results.md | Adds the same scenario timing rows to the published results snapshot table. |
| benchmarks/PatternKit.Benchmarks/Application/RepositoryBenchmarks.cs | Introduces repository scenario benchmarks (construction + seed/query execution). |
| benchmarks/PatternKit.Benchmarks/Application/SpecificationBenchmarks.cs | Introduces specification registry construction + evaluation execution benchmarks. |
| benchmarks/PatternKit.Benchmarks/Application/TableDataGatewayBenchmarks.cs | Introduces table data gateway construction + insert/update/query execution benchmarks. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| [Benchmark(Baseline = true, Description = "Fluent: create repository")] | ||
| [BenchmarkCategory("Fluent", "Construction")] | ||
| public InMemoryRepository<OrderRecord, string> Fluent_CreateRepository() | ||
| => OrderRepositoryPolicies.CreateFluentRepository(); | ||
|
|
||
| [Benchmark(Description = "Generated: create repository")] | ||
| [BenchmarkCategory("Generated", "Construction")] | ||
| public InMemoryRepository<OrderRecord, string> Generated_CreateRepository() | ||
| => GeneratedOrderRepository.CreateRepository(); | ||
|
|
||
| [Benchmark(Description = "Fluent: seed and query repository")] | ||
| [BenchmarkCategory("Fluent", "Execution")] | ||
| public ValueTask<OrderRepositorySummary> Fluent_SeedAndQuery() | ||
| => OrderRepositoryDemo.RunFluentAsync(); | ||
|
|
||
| [Benchmark(Description = "Generated: seed and query repository")] | ||
| [BenchmarkCategory("Generated", "Execution")] |
Test Results 1 files 1 suites 4m 11s ⏱️ Results for commit 37d59a9. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #341 +/- ##
==========================================
+ Coverage 89.66% 95.64% +5.98%
==========================================
Files 486 486
Lines 40002 40002
Branches 5756 5756
==========================================
+ Hits 35866 38261 +2395
+ Misses 1877 1741 -136
+ Partials 2259 0 -2259
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
🔍 PR Validation ResultsVersion: `` ✅ Validation Steps
📊 ArtifactsDry-run artifacts have been uploaded and will be available for 7 days. This comment was automatically generated by the PR validation workflow. |
Code Coverage |
Summary
Validation