Benchmark Results

PatternKit publishes two kinds of benchmark results:

  • Scenario timings compare fluent and source-generated routes for patterns with dedicated BenchmarkDotNet scenario classes.
  • Coverage matrix results prove every catalog pattern and generator source has a reportable BenchmarkDotNet route with source, test, and documentation validation.

The latest measured timings below were captured on Windows 11, Intel Core i9-14900K, .NET SDK 10.0.108, .NET 10.0.8, BenchmarkDotNet 0.15.8, using the current-tfm job. Treat them as directional; run the suite on deployment-class hardware before making final hot-path decisions.

Scenario Timing Results

Pattern Phase Fluent mean Fluent allocation Generated mean Generated allocation Decision signal
Abstract Factory Construction 715.345 ns 5,992 B 720.811 ns 5,992 B Effectively equivalent for tenant widget factory composition.
Abstract Factory Execution 750.189 ns 6,200 B 735.733 ns 6,200 B Same allocation; generated was slightly faster for login widget creation.
Adapter Construction 34.668 ns 320 B 3.607 ns 24 B Generated adapter construction was materially faster and allocated less.
Adapter Execution 59.084 ns 416 B 20.479 ns 80 B Generated adapter execution was faster and allocated less for shipment adaptation.
Activity Tracker Construction 13.09 ns 152 B 12.98 ns 152 B Same allocation; generated was slightly faster in this microbenchmark.
Activity Tracker Execution 446.88 ns 1,656 B 452.36 ns 1,656 B Same allocation; fluent was slightly faster for dashboard loading gates.
Manual Task Gate Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Manual Task Gate Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Workflow Orchestration Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Workflow Orchestration Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Snapshot / Checkpoint Management Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Snapshot / Checkpoint Management Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Eventual Consistency Monitor Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Eventual Consistency Monitor Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Timeout Manager Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Timeout Manager Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Aggregate Root Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Aggregate Root Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Null Object Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Null Object Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Aggregator Construction 14.562 ns 168 B 15.235 ns 168 B Same allocation; fluent was slightly faster in this microbenchmark.
Aggregator Execution 188.000 ns 1,088 B 200.564 ns 1,088 B Same allocation; fluent was faster for order line aggregation.
Ambassador Construction 55.42 ns 448 B 48.03 ns 360 B Generated reduced construction time and allocation in this microbenchmark.
Ambassador Execution 87.92 ns 624 B 93.72 ns 624 B Same allocation; fluent was slightly faster in this path.
Anti-Corruption Layer Construction 59.62 ns 440 B 59.77 ns 440 B Effectively equivalent for this microbenchmark.
Anti-Corruption Layer Execution 109.13 ns 656 B 107.42 ns 656 B Same allocation; generated was slightly faster for legacy order import.
Audit Log Construction 19.70 ns 192 B 18.62 ns 192 B Same allocation; generated was slightly faster in this microbenchmark.
Audit Log Execution 265.81 ns 968 B 273.42 ns 968 B Same allocation; fluent was slightly faster for submit-and-approve audit logging.
Backends For Frontends Construction 58.00 ns 512 B 42.48 ns 296 B Generated reduced construction time and allocation in this microbenchmark.
Backends For Frontends Execution 25.40 ns 216 B 29.77 ns 216 B Same allocation; fluent was faster for the web summary shaping workflow.
Builder Construction 48.24 ns 320 B 160.455 us 129,236 B Fluent builder construction is much lighter; generated measures full HostApplicationBuilder composition.
Builder Execution 65.14 ns 352 B 500.676 us 279,923 B Fluent option building is much lighter; generated exercises the full host-backed application build.
Object Pool Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Object Pool Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Bridge Construction 53.115 ns 504 B 3.821 ns 24 B Generated bridge construction was materially faster and allocated less.
Bridge Execution 91.848 ns 664 B 30.004 ns 160 B Generated bridge forwarding was faster and allocated less for notice rendering.
Bulkhead Construction 20.56 ns 216 B 20.48 ns 216 B Effectively equivalent for this microbenchmark.
Bulkhead Execution 102.70 ns 592 B 106.11 ns 592 B Same allocation; fluent was slightly faster for the shipping allocation workflow.
Backpressure Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Backpressure Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Lazy Load Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Lazy Load Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Ports and Adapters Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Ports and Adapters Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Cache Stampede Protection Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Cache Stampede Protection Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Cache-Aside Construction 19.91 ns 200 B 19.85 ns 200 B Effectively equivalent for this microbenchmark.
Cache-Aside Execution 216.50 ns 1,048 B 208.60 ns 1,048 B Same allocation; generated was slightly faster for the miss-then-hit workflow.
Read-Through / Write-Through Cache Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Read-Through / Write-Through Cache Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Change Data Capture Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Change Data Capture Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Read-Through Cache Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix through the read/write-through cache route.
Read-Through Cache Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix through the read/write-through cache route.
Write-Through Cache Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix through the read/write-through cache route.
Write-Through Cache Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix through the read/write-through cache route.
Canonical Data Model Construction 75.482 ns 632 B 59.947 ns 496 B Generated reduced construction time and allocation in this microbenchmark.
Canonical Data Model Execution 116.680 ns 832 B 92.082 ns 696 B Generated reduced execution time and allocation for order normalization.
Channel Adapter Construction 38.469 ns 384 B 38.681 ns 384 B Effectively equivalent for this microbenchmark.
Channel Adapter Execution 204.907 ns 888 B 198.374 ns 888 B Same allocation; generated was slightly faster for the ERP order document round-trip workflow.
Channel Purger Construction 28.72 ns 288 B 16.66 ns 168 B Generated reduced construction time and allocation for the maintenance purger factory.
Channel Purger Execution 402.57 ns 2,456 B 269.76 ns 1,680 B Generated reduced execution time and allocation for the inventory backlog purge workflow.
Invalid Message Channel Construction 20.15 ns 176 B 19.76 ns 176 B Fluent and generated builder construction were effectively equivalent.
Invalid Message Channel Execution 428.21 ns 2,680 B 441.83 ns 2,680 B Fluent and generated invalid-message routing had equivalent allocation with minor timing variance.
Claim Check Construction 111.92 ns 1,664 B 110.71 ns 1,664 B Effectively equivalent for this microbenchmark.
Claim Check Execution 355.24 ns 2,976 B 342.12 ns 2,976 B Same allocation; generated was slightly faster for the large-document restore workflow.
Competing Consumers Construction 35.66 ns 328 B 35.40 ns 328 B Effectively equivalent for this microbenchmark.
Competing Consumers Execution 75.34 ns 416 B 75.23 ns 416 B Effectively equivalent for the fulfillment dispatch workflow.
Composite Construction 82.460 ns 848 B 30.685 ns 216 B Generated composite construction was faster and allocated less for the storage tree.
Composite Execution 90.010 ns 848 B 36.760 ns 216 B Generated composite traversal was faster and allocated less for size calculation.
Circuit Breaker Construction 14.33 ns 128 B 13.73 ns 128 B Same allocation; generated was slightly faster in this microbenchmark.
Circuit Breaker Execution 85.34 ns 488 B 85.19 ns 488 B Effectively equivalent for the accepted fulfillment workflow.
Content-Based Router Construction 42.913 ns 400 B 44.118 ns 400 B Same allocation; fluent was slightly faster in this microbenchmark.
Content-Based Router Execution 52.789 ns 520 B 60.816 ns 576 B Fluent was faster and allocated less for wholesale order routing.
Content Enricher Construction 36.39 ns 312 B 36.22 ns 312 B Effectively equivalent for this microbenchmark.
Content Enricher Execution 1.357 us 1,400 B 1.344 us 1,400 B Same allocation; generated was slightly faster for customer profile enrichment.
Control Bus Construction 115.64 ns 880 B 79.88 ns 624 B Generated reduced construction time and allocation in this microbenchmark.
Control Bus Execution 290.44 ns 1,688 B 232.48 ns 1,432 B Generated reduced execution time and allocation for operational command dispatch.
CQRS Construction 199.3 ns 2.09 KB 88.001 us 309.24 KB Fluent mediator construction is much lighter; generated measurement includes full IServiceCollection dispatcher composition.
CQRS Execution 479.9 ns 3.40 KB 96.453 us 324.83 KB Fluent route is much lighter in this microbenchmark; generated route exercises the full DI-integrated dispatcher workflow.
Data Mapper Construction 40.56 ns 288 B 12.87 ns 112 B Generated reduced construction time and allocation in this microbenchmark.
Data Mapper Execution 188.09 ns 1,104 B 97.71 ns 672 B Generated reduced execution time and allocation for the map-store-load workflow.
Dead Letter Channel Construction 12.35 ns 120 B 12.50 ns 120 B Effectively equivalent for this microbenchmark.
Dead Letter Channel Execution 999.95 ns 7,056 B 1.023 us 7,024 B Generated allocated slightly less, while fluent was slightly faster for capture-and-replay preparation.
Durable Subscriber Construction 98.55 ns 760 B 81.45 ns 616 B Generated reduced construction time and allocation for checkpointed replay subscriber setup.
Durable Subscriber Execution 711.81 ns 3,912 B 605.65 ns 3,128 B Generated reduced catch-up projection replay time and allocation in this microbenchmark.
Dynamic Router Construction 213.4 ns 1.29 KB 214.0 ns 1.29 KB Fluent and generated route-table construction were effectively equivalent.
Dynamic Router Execution 406.7 ns 2.83 KB 415.2 ns 2.83 KB Same allocation; fluent was slightly faster for fulfillment route-table dispatch.
Message Bus Construction 186.7 ns 1,264 B 160.0 ns 904 B Generated reduced construction time and allocation for topic bus topology setup.
Message Bus Execution 503.8 ns 3,192 B 587.7 ns 3,232 B Fluent was faster and allocated slightly less for publishing order events to topic subscribers.
Messaging Bridge Construction 184.0 ns 1,328 B 185.5 ns 1,328 B Same allocation; fluent and generated bridge construction were effectively equivalent.
Messaging Bridge Execution 666.8 ns 3,912 B 670.8 ns 3,912 B Same allocation; fluent was slightly faster for partner order imports.
Correlation Identifier Construction 13.188 ns 96 B 6.133 ns 48 B Generated reduced construction time and allocation for correlation builder setup.
Correlation Identifier Execution 235.073 ns 1,480 B 224.406 ns 1,432 B Generated was slightly faster and allocated slightly less for order request/reply correlation.
Message History Construction 6.843 ns 56 B 6.075 ns 56 B Same allocation; generated was slightly faster for history recorder construction.
Message History Execution 275.298 ns 1,400 B 285.765 ns 1,400 B Same allocation; fluent was slightly faster for order history recording.
Decorator Construction 34.293 ns 264 B 17.669 ns 168 B Generated decorator composition was faster and allocated less.
Decorator Execution 60.765 ns 384 B 35.551 ns 304 B Generated decorator execution was faster and allocated less for decorated storage reads.
Domain Event Construction 199.5 ns 1.34 KB 157.6 ns 1.04 KB Generated reduced construction time and allocation in this microbenchmark.
Domain Event Execution 367.2 ns 1.77 KB 346.4 ns 1.55 KB Generated reduced execution time and allocation for the order-placed dispatch workflow.
Bounded Context Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Bounded Context Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Context Map Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Context Map Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Domain Service Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Domain Service Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Event-Carried State Transfer Construction 7.552 ns 48 B 6.751 ns 48 B Same allocation; generated was slightly faster in this microbenchmark.
Event-Carried State Transfer Execution 58.508 ns 448 B 59.071 ns 448 B Effectively equivalent for the inventory projection workflow.
Event Notification Construction 30.920 ns 232 B 31.926 ns 232 B Effectively equivalent for this microbenchmark.
Event Notification Execution 93.209 ns 704 B 106.973 ns 704 B Same allocation; fluent was faster for order notification publishing.
Event Sourcing Construction 12.92 ns 144 B 13.00 ns 144 B Effectively equivalent for this microbenchmark.
Event Sourcing Execution 239.97 ns 1,168 B 245.13 ns 1,168 B Same allocation; fluent was slightly faster for place-and-pay event replay.
Event-Driven Consumer Construction 41.394 ns 336 B 25.216 ns 192 B Generated reduced construction time and allocation in this microbenchmark.
Event-Driven Consumer Execution 135.584 ns 888 B 122.305 ns 688 B Generated reduced execution time and allocation for the order-accepted event workflow.
External Configuration Store Construction 42.02 ns 392 B 41.06 ns 328 B Generated reduced construction time and allocation in this microbenchmark.
External Configuration Store Execution 34.94 ns 48 B 35.78 ns 48 B Same allocation; fluent was slightly faster for the cached tenant settings workflow.
Factory Method Construction 72.397 ns 512 B 0.355 ns 0 B Generated static factory surface resolution avoids runtime builder allocation.
Factory Method Execution 1.792 us 10,568 B 1.681 us 10,056 B Generated was faster and allocated less for service-module registration.
Facade Construction 59.132 ns 624 B 12.567 ns 112 B Generated facade construction was faster and allocated less for the shipping facade.
Facade Execution 100.182 ns 664 B 68.503 ns 208 B Generated facade execution was faster and allocated less for shipping quote calculation.
Feature Toggle Construction 84.97 ns 496 B 82.73 ns 496 B Same allocation; generated was slightly faster in this microbenchmark.
Feature Toggle Execution 151.85 ns 1,120 B 150.87 ns 1,120 B Effectively equivalent for checkout feature evaluation.
Flyweight Construction 20.595 ns 192 B 23.842 ns 272 B Fluent construction was lighter; generated route includes LRU cache infrastructure.
Flyweight Execution 58.502 ns 400 B 109.987 ns 704 B Fluent was faster and allocated less in this LRU-vs-unbounded cache comparison.
Gateway Aggregation Construction 104.21 ns 856 B 64.99 ns 560 B Generated reduced construction time and allocation in this microbenchmark.
Gateway Aggregation Execution 109.55 ns 632 B 112.95 ns 632 B Same allocation; fluent was slightly faster for the dashboard aggregation workflow.
Gateway Routing Construction 56.20 ns 464 B 50.72 ns 336 B Generated reduced construction time and allocation in this microbenchmark.
Gateway Routing Execution 23.63 ns 200 B 20.13 ns 168 B Generated reduced execution time and allocation for the inventory routing workflow.
Health Endpoint Monitoring Construction 35.68 ns 264 B 35.25 ns 264 B Same allocation; generated was slightly faster in this microbenchmark.
Health Endpoint Monitoring Execution 38.50 ns 248 B 31.67 ns 248 B Same allocation; generated was faster for the fulfillment health evaluation workflow.
Hosting Extensions Construction reportable reportable reportable reportable Dedicated route measures reusable IServiceCollection registration and provider build overhead for package-level hosting APIs.
Hosting Extensions Execution reportable reportable reportable reportable Dedicated route measures resolving and executing reusable PatternKit primitives through Microsoft.Extensions.DependencyInjection.
Idempotent Receiver Construction 17.022 ns 184 B 17.021 ns 184 B Effectively equivalent for this microbenchmark.
Idempotent Receiver Execution 99.419 ns 608 B 99.051 ns 608 B Effectively equivalent for idempotent command handling.
Inbox Construction 22.259 ns 208 B 21.675 ns 208 B Same allocation; generated was slightly faster in this microbenchmark.
Inbox Execution 113.126 ns 632 B 110.770 ns 608 B Generated reduced execution time and allocation for inbox command processing.
Identity Map Construction 10.62 ns 112 B 10.68 ns 112 B Effectively equivalent for this microbenchmark.
Identity Map Execution 108.91 ns 968 B 94.83 ns 968 B Same allocation; generated was faster for scoped identity-map reuse.
Leader Election Construction 14.28 ns 104 B 15.91 ns 104 B Same allocation; fluent was slightly faster in this microbenchmark.
Leader Election Execution 43.62 ns 360 B 144.37 ns 312 B Generated allocated about 13% less memory, while fluent was faster in this path.
Compensating Transaction Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Compensating Transaction Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Distributed Lock / Lease Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Distributed Lock / Lease Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Materialized View Construction 140.9 ns 1.05 KB 147.4 ns 1.05 KB Same allocation; fluent was slightly faster in this microbenchmark.
Materialized View Execution 389.5 ns 2.02 KB 386.0 ns 2.02 KB Effectively equivalent for this scenario.
Mailbox Construction 17.030 ns 216 B 29.867 ns 360 B Fluent was faster and allocated less for disposable mailbox construction.
Mailbox Execution 1.856 us 2,620 B 1.956 us 2,474 B Generated allocated less, while fluent was faster for serialized mailbox processing.
Message Channel Construction 10.282 ns 120 B 10.148 ns 120 B Effectively equivalent for this microbenchmark.
Message Channel Execution 72.921 ns 512 B 71.924 ns 512 B Same allocation; generated was slightly faster for the inventory adjustment workflow.
Message Envelope Construction 248.580 ns 1,688 B 228.019 ns 1,688 B Same allocation; generated was slightly faster in this microbenchmark.
Message Envelope Execution 455.486 ns 2,752 B 427.664 ns 2,752 B Same allocation; generated was slightly faster for message context enrichment.
Message Filter Construction 25.431 ns 232 B 25.626 ns 232 B Effectively equivalent for this microbenchmark.
Message Filter Execution 44.637 ns 424 B 45.826 ns 424 B Same allocation; fluent was slightly faster for order fraud screening.
Message Expiration Construction 22.55 ns 248 B 14.63 ns 144 B Generated policy construction reduced time and allocation.
Message Expiration Execution 88.54 ns 728 B 103.86 ns 536 B Generated reduced allocation; fluent was faster for the stamp-and-evaluate flow.
Guaranteed Delivery Construction 22.778 ns 200 B 22.522 ns 200 B Fluent and generated queue construction were effectively equivalent.
Guaranteed Delivery Execution 175.488 ns 752 B 167.434 ns 752 B Generated was slightly faster with the same allocation for enqueue, receive, and acknowledge.
Message Routing Construction 23.42 ns 224 B 23.33 ns 224 B Effectively equivalent for this microbenchmark.
Message Routing Execution 707.34 ns 4,744 B 679.97 ns 4,632 B Generated reduced execution time and allocation for the route/split/aggregate workflow.
Message Store Construction 18.824 ns 216 B 18.721 ns 216 B Effectively equivalent for this microbenchmark.
Message Store Execution 274.799 ns 1,576 B 265.470 ns 1,576 B Same allocation; generated was slightly faster for record-and-replay lookup.
Message Translator Construction 39.49 ns 424 B 39.65 ns 424 B Effectively equivalent for this microbenchmark.
Message Translator Execution 365.30 ns 2,528 B 381.79 ns 2,528 B Same allocation; fluent was slightly faster in this path.
Messaging Gateway Construction 14.094 ns 160 B 14.167 ns 160 B Effectively equivalent for this microbenchmark.
Messaging Gateway Execution 66.597 ns 560 B 67.558 ns 560 B Same allocation; fluent was slightly faster for payment authorization.
Outbox Construction 9.544 ns 88 B 9.672 ns 88 B Effectively equivalent for this microbenchmark.
Outbox Execution 118.307 ns 424 B 122.972 ns 424 B Same allocation; fluent was slightly faster for enqueue-and-dispatch processing.
Pipes and Filters Construction 32.99 ns 264 B 32.98 ns 264 B Effectively equivalent for this microbenchmark.
Pipes and Filters Execution 138.66 ns 800 B 137.18 ns 800 B Same allocation; generated was slightly faster for the fulfillment pipeline workflow.
Polling Consumer Construction 35.577 ns 328 B 4.367 ns 32 B Generated materially reduced construction time and allocation in this microbenchmark.
Polling Consumer Execution 52.658 ns 384 B 15.783 ns 96 B Generated reduced execution time and allocation for the replenishment polling workflow.
Prototype Construction 886.538 ns 6,888 B 20.985 ns 152 B Generated clone source construction is much lighter than populating the fluent registry.
Prototype Execution 1.193 us 7,832 B 21.717 ns 152 B Generated cloning was materially faster and allocated less for the character prototype.
Proxy Construction 9.099 ns 88 B 6.037 ns 48 B Generated proxy construction was faster and allocated less.
Proxy Execution 20.148 ns 120 B 3.116 ns 0 B Generated proxy execution avoided allocation and was materially faster for price calculation.
Publish-Subscribe Construction 156.89 ns 1,616 B 153.49 ns 1,616 B Same allocation; generated was slightly faster for topology composition.
Publish-Subscribe Execution 6.380 us 10,386 B 6.275 us 10,417 B Generated was slightly faster; fluent allocated slightly less for two-subscriber dispatch.
Reliability Pipeline Construction 34.90 ns 392 B 33.16 ns 328 B Generated reduced construction time and allocation in this microbenchmark.
Reliability Pipeline Execution 2.303 us 3,992 B 381.36 ns 1,872 B Generated was materially faster and allocated less for duplicate inbox processing plus outbox dispatch.
Recipient List Construction 30.304 ns 288 B 30.380 ns 288 B Effectively equivalent for this microbenchmark.
Recipient List Execution 123.057 ns 992 B 120.325 ns 968 B Generated was slightly faster and allocated slightly less for shipment fan-out.
Request-Reply Construction 79.15 ns 672 B 78.63 ns 672 B Effectively equivalent for request/reply topology composition.
Request-Reply Execution 11.196 us 13,492 B 10.864 us 13,493 B Generated was slightly faster; allocations were effectively equivalent for the request/reply exchange.
Repository Construction 9.793 ns 112 B 9.239 ns 112 B Same allocation; generated was slightly faster in this microbenchmark.
Repository Execution 146.37 ns 888 B 143.27 ns 888 B Same allocation; generated was slightly faster for the seed-and-query workflow.
Resequencer Construction 16.89 ns 192 B 17.27 ns 192 B Effectively equivalent for this microbenchmark.
Resequencer Execution 311.90 ns 2,456 B 303.94 ns 2,456 B Same allocation; generated was slightly faster for the three-event shipment resequencing workflow.
Routing Slip Construction 35.508 ns 256 B 32.448 ns 256 B Same allocation; generated was slightly faster in this microbenchmark.
Routing Slip Execution 515.138 ns 3,504 B 507.633 ns 3,568 B Generated was slightly faster; fluent allocated slightly less for the fulfillment itinerary.
Saga / Process Manager Construction 39.453 ns 272 B 42.138 ns 272 B Same allocation; fluent was slightly faster in this microbenchmark.
Saga / Process Manager Execution 89.969 ns 672 B 105.648 ns 784 B Fluent was faster and allocated less for the order saga workflow.
Singleton Construction 26.618 ns 184 B 0.366 ns 0 B Generated static singleton surface resolution avoids runtime builder allocation.
Singleton Execution 74.198 ns 504 B 0.205 ns 0 B Generated static singleton access avoids the fluent resolver allocation path.
Priority Queue Construction 14.67 ns 128 B 14.33 ns 128 B Same allocation; generated was slightly faster in this microbenchmark.
Priority Queue Execution 95.63 ns 536 B 93.42 ns 536 B Same allocation; generated was slightly faster for the fulfillment scheduling workflow.
Queue-Based Load Leveling Construction 17.64 ns 176 B 17.54 ns 176 B Effectively equivalent for this microbenchmark.
Queue-Based Load Leveling Execution 94.49 ns 480 B 94.42 ns 480 B Effectively equivalent for the fulfillment enqueue workflow.
Retry Construction 25.36 ns 208 B 27.18 ns 208 B Same allocation; fluent was slightly faster in this microbenchmark.
Retry Execution 110.53 ns 600 B 109.52 ns 600 B Same allocation; generated was slightly faster for the transient retry workflow.
Rate Limiting Construction 19.16 ns 168 B 18.19 ns 168 B Same allocation; generated was slightly faster in this microbenchmark.
Rate Limiting Execution 247.62 ns 1,200 B 245.56 ns 1,200 B Same allocation; generated was slightly faster for the tenant rejection workflow.
Scatter-Gather Construction 59.78 ns 408 B 62.41 ns 408 B Same allocation; fluent was slightly faster in this microbenchmark.
Scatter-Gather Execution 327.74 ns 1,704 B 388.12 ns 2,064 B Fluent was faster and allocated less for the supplier quote fan-out workflow.
Scheduler Agent Supervisor Construction 47.29 ns 400 B 45.40 ns 400 B Same allocation; generated was slightly faster in this microbenchmark.
Scheduler Agent Supervisor Execution 177.46 ns 1,304 B 180.14 ns 1,304 B Effectively equivalent for this scenario.
Sidecar Construction 59.96 ns 488 B 52.09 ns 400 B Generated reduced construction time and allocation in this microbenchmark.
Sidecar Execution 99.61 ns 640 B 100.51 ns 640 B Same allocation; fluent was slightly faster for the order sidecar submission workflow.
Service Activator Construction 4.825 ns 32 B 4.641 ns 32 B Same allocation; generated was slightly faster in this microbenchmark.
Service Activator Execution 25.48 ns 256 B 26.49 ns 256 B Same allocation; fluent was slightly faster in this path.
Service Layer Construction 56.33 ns 496 B 41.36 ns 296 B Generated reduced construction time and allocation in this microbenchmark.
Service Layer Execution 151.32 ns 960 B 148.10 ns 872 B Generated slightly reduced execution time and allocation for the register-customer workflow.
Specification Construction 196.03 ns 1,704 B 136.87 ns 1,008 B Generated reduced construction time and allocation in this microbenchmark.
Specification Execution 111.25 ns 344 B 93.30 ns 344 B Same allocation; generated was faster for loan-application evaluation.
Value Object Construction Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Value Object Execution Pending Pending Pending Pending Covered by the BenchmarkDotNet matrix; publish measured values after the next benchmark refresh.
Splitter Construction 3.664 ns 24 B 4.020 ns 24 B Same allocation; fluent was slightly faster in this microbenchmark.
Splitter Execution 135.516 ns 808 B 134.062 ns 832 B Generated was slightly faster; fluent allocated slightly less for order line splitting.
Strangler Fig Construction 53.71 ns 416 B 42.35 ns 288 B Generated reduced construction time and allocation in this microbenchmark.
Strangler Fig Execution 24.64 ns 200 B 20.50 ns 168 B Generated reduced execution time and allocation for the enterprise checkout routing workflow.
Table Data Gateway Construction 9.740 ns 120 B 9.698 ns 120 B Effectively equivalent for this microbenchmark.
Table Data Gateway Execution 90.51 ns 600 B 96.35 ns 600 B Same allocation; fluent was slightly faster for the insert-update-query workflow.
Transaction Script Construction 20.634 ns 240 B 5.839 ns 40 B Generated materially reduced construction time and allocation in this microbenchmark.
Transaction Script Execution 184.93 ns 1,136 B 98.28 ns 600 B Generated reduced execution time and allocation for the submit-order workflow.
Unit Of Work Construction 49.50 ns 304 B 46.91 ns 304 B Same allocation; generated was slightly faster in this microbenchmark.
Unit Of Work Execution 121.03 ns 824 B 96.91 ns 520 B Generated reduced execution time and allocation for the checkout commit workflow.
Wire Tap Construction 47.13 ns 496 B 40.99 ns 336 B Generated reduced construction time and allocation in this microbenchmark.
Wire Tap Execution 214.72 ns 1,232 B 191.45 ns 1,064 B Generated reduced execution time and allocation for the order observability workflow.
Chain of Responsibility Construction 58.0959 ns 656 B 3.0491 ns 24 B Generated chain construction was materially faster and allocated less.
Chain of Responsibility Execution 60.2624 ns 656 B 4.3664 ns 0 B Generated handler dispatch was faster and allocation-free for the approval route.
Command Construction 19.6229 ns 208 B 3.2500 ns 24 B Generated command handler setup was faster and allocated less.
Command Execution 23.1740 ns 232 B 0.0125 ns 0 B Generated static command dispatch removed fluent command allocation overhead in this microbenchmark.
Interpreter Construction 149.7429 ns 1,352 B 109.6622 ns 896 B Generated interpreter factory reduced construction time and allocation.
Interpreter Execution 240.8832 ns 1,464 B 189.7219 ns 1,008 B Generated interpreter rules were faster and allocated less for pricing expressions.
Iterator Construction 34.2051 ns 352 B 4.8293 ns 48 B Generated iterator construction was materially lighter than fluent flow composition.
Iterator Execution 84.8700 ns 480 B 14.2925 ns 48 B Generated iterator execution was faster and allocated less for revenue traversal.
Mediator Construction 97.3925 ns 1,144 B 37.7610 ns 416 B Generated dispatcher mediator construction was faster and allocated less.
Mediator Execution 154.8279 ns 1,320 B 64.4207 ns 416 B Generated dispatcher send path was faster and allocated less for command dispatch.
Memento Construction 12.9626 ns 128 B 15.7943 ns 120 B Fluent construction was slightly faster; generated history allocated slightly less.
Memento Execution 116.4308 ns 376 B 6.0277 ns 48 B Generated memento capture and restore was materially faster and allocated less.
Observer Construction 4.9422 ns 40 B 6.9757 ns 56 B Fluent observer construction was slightly lighter for this small instance.
Observer Execution 30.9549 ns 176 B 44.3640 ns 368 B Fluent publish was lighter for this single-subscriber microbenchmark.
State Construction 173.0951 ns 1,688 B 3.0356 ns 24 B Generated state machine construction was materially faster and allocated less.
State Execution 179.4049 ns 1,688 B 3.3041 ns 24 B Generated transition dispatch was materially faster and allocated less.
Strategy Construction 49.6712 ns 432 B 49.4027 ns 432 B Fluent and generated strategy builders were effectively equivalent.
Strategy Execution 51.8884 ns 432 B 49.9407 ns 432 B Generated strategy execution was slightly faster with the same allocation.
Template Method Construction 10.3334 ns 88 B 3.0359 ns 24 B Generated template construction was faster and allocated less.
Template Method Execution 12.9121 ns 88 B 0.1900 ns 0 B Generated template execution removed fluent delegate overhead in this microbenchmark.
Visitor Construction 166.0976 ns 1,720 B 9.3177 ns 112 B Generated visitor builder construction was materially faster and allocated less.
Visitor Execution 197.2918 ns 1,760 B 59.6870 ns 432 B Generated visitor dispatch was faster and allocated less for document nodes.

Coverage Matrix Summary

The coverage matrix currently publishes 121 catalog patterns and 484 pattern route results. Each pattern has four BenchmarkDotNet routes: fluent construction, fluent execution, source-generated construction, and source-generated execution. The reusable hosting integration matrix publishes 12 reusable hosting integration route results for package-level IServiceCollection registrations.

Category Patterns Published route results
Application Architecture 29 116
Behavioral 12 48
Cloud Architecture 21 84
Creational 6 24
Enterprise Integration 42 168
Messaging Reliability 4 16
Structural 7 28

The generator matrix currently publishes 116 generator source route results.

Hosting Integration Matrix Results

Pattern Route Registration Source Tests Docs
Backpressure IServiceCollection AddPatternKitBackpressurePolicy<TResult> src/PatternKit.Hosting.Extensions/DependencyInjection/PatternKitServiceCollectionExtensions.cs test/PatternKit.Hosting.Extensions.Tests/DependencyInjection/PatternKitServiceCollectionExtensionsTests.cs docs/guides/hosting-extensions.md
Bulkhead IServiceCollection AddPatternKitBulkheadPolicy<TResult> src/PatternKit.Hosting.Extensions/DependencyInjection/PatternKitServiceCollectionExtensions.cs test/PatternKit.Hosting.Extensions.Tests/DependencyInjection/PatternKitServiceCollectionExtensionsTests.cs docs/guides/hosting-extensions.md
Circuit Breaker IServiceCollection AddPatternKitCircuitBreakerPolicy<TResult> src/PatternKit.Hosting.Extensions/DependencyInjection/PatternKitServiceCollectionExtensions.cs test/PatternKit.Hosting.Extensions.Tests/DependencyInjection/PatternKitServiceCollectionExtensionsTests.cs docs/guides/hosting-extensions.md
Guaranteed Delivery IServiceCollection AddPatternKitGuaranteedDelivery<TPayload> src/PatternKit.Hosting.Extensions/DependencyInjection/PatternKitServiceCollectionExtensions.cs test/PatternKit.Hosting.Extensions.Tests/DependencyInjection/PatternKitServiceCollectionExtensionsTests.cs docs/guides/hosting-extensions.md
Lazy Load IServiceCollection AddPatternKitLazyLoad<TValue> src/PatternKit.Hosting.Extensions/DependencyInjection/PatternKitServiceCollectionExtensions.cs test/PatternKit.Hosting.Extensions.Tests/DependencyInjection/PatternKitServiceCollectionExtensionsTests.cs docs/guides/hosting-extensions.md
Message Channel IServiceCollection AddPatternKitMessageChannel<TPayload> src/PatternKit.Hosting.Extensions/DependencyInjection/PatternKitServiceCollectionExtensions.cs test/PatternKit.Hosting.Extensions.Tests/DependencyInjection/PatternKitServiceCollectionExtensionsTests.cs docs/guides/hosting-extensions.md
Message Store IServiceCollection AddPatternKitMessageStore<TPayload> src/PatternKit.Hosting.Extensions/DependencyInjection/PatternKitServiceCollectionExtensions.cs test/PatternKit.Hosting.Extensions.Tests/DependencyInjection/PatternKitServiceCollectionExtensionsTests.cs docs/guides/hosting-extensions.md
Null Object IServiceCollection AddPatternKitNullObject<TContract> src/PatternKit.Hosting.Extensions/DependencyInjection/PatternKitServiceCollectionExtensions.cs test/PatternKit.Hosting.Extensions.Tests/DependencyInjection/PatternKitServiceCollectionExtensionsTests.cs docs/guides/hosting-extensions.md
Priority Queue IServiceCollection AddPatternKitPriorityQueue<TItem, TPriority> src/PatternKit.Hosting.Extensions/DependencyInjection/PatternKitServiceCollectionExtensions.cs test/PatternKit.Hosting.Extensions.Tests/DependencyInjection/PatternKitServiceCollectionExtensionsTests.cs docs/guides/hosting-extensions.md
Queue-Based Load Leveling IServiceCollection AddPatternKitQueueLoadLevelingPolicy<TResult> src/PatternKit.Hosting.Extensions/DependencyInjection/PatternKitServiceCollectionExtensions.cs test/PatternKit.Hosting.Extensions.Tests/DependencyInjection/PatternKitServiceCollectionExtensionsTests.cs docs/guides/hosting-extensions.md
Rate Limiting IServiceCollection AddPatternKitRateLimitPolicy<TResult> src/PatternKit.Hosting.Extensions/DependencyInjection/PatternKitServiceCollectionExtensions.cs test/PatternKit.Hosting.Extensions.Tests/DependencyInjection/PatternKitServiceCollectionExtensionsTests.cs docs/guides/hosting-extensions.md
Retry IServiceCollection AddPatternKitRetryPolicy<TResult> src/PatternKit.Hosting.Extensions/DependencyInjection/PatternKitServiceCollectionExtensions.cs test/PatternKit.Hosting.Extensions.Tests/DependencyInjection/PatternKitServiceCollectionExtensionsTests.cs docs/guides/hosting-extensions.md

Pattern Matrix Results

Category Pattern Fluent construction Fluent execution Generated construction Generated execution
Application Architecture Activity Tracker Covered Covered Covered Covered
Application Architecture Manual Task Gate Covered Covered Covered Covered
Application Architecture Workflow Orchestration Covered Covered Covered Covered
Application Architecture Snapshot / Checkpoint Management Covered Covered Covered Covered
Application Architecture Eventual Consistency Monitor Covered Covered Covered Covered
Application Architecture Timeout Manager Covered Covered Covered Covered
Application Architecture Aggregate Root Covered Covered Covered Covered
Application Architecture Anti-Corruption Layer Covered Covered Covered Covered
Application Architecture Audit Log Covered Covered Covered Covered
Application Architecture Bounded Context Covered Covered Covered Covered
Application Architecture Context Map Covered Covered Covered Covered
Application Architecture CQRS Covered Covered Covered Covered
Application Architecture Compensating Transaction Covered Covered Covered Covered
Application Architecture Data Mapper Covered Covered Covered Covered
Application Architecture Domain Event Covered Covered Covered Covered
Application Architecture Domain Service Covered Covered Covered Covered
Application Architecture Event Sourcing Covered Covered Covered Covered
Application Architecture Feature Toggle Covered Covered Covered Covered
Application Architecture Identity Map Covered Covered Covered Covered
Application Architecture Lazy Load Covered Covered Covered Covered
Application Architecture Materialized View Covered Covered Covered Covered
Application Architecture Ports and Adapters Covered Covered Covered Covered
Application Architecture Repository Covered Covered Covered Covered
Application Architecture Service Layer Covered Covered Covered Covered
Application Architecture Specification Covered Covered Covered Covered
Application Architecture Value Object Covered Covered Covered Covered
Application Architecture Table Data Gateway Covered Covered Covered Covered
Application Architecture Transaction Script Covered Covered Covered Covered
Application Architecture Unit of Work Covered Covered Covered Covered
Behavioral Chain of Responsibility Covered Covered Covered Covered
Behavioral Command Covered Covered Covered Covered
Behavioral Interpreter Covered Covered Covered Covered
Behavioral Iterator Covered Covered Covered Covered
Behavioral Mediator Covered Covered Covered Covered
Behavioral Memento Covered Covered Covered Covered
Behavioral Null Object Covered Covered Covered Covered
Behavioral Observer Covered Covered Covered Covered
Behavioral State Covered Covered Covered Covered
Behavioral Strategy Covered Covered Covered Covered
Behavioral Template Method Covered Covered Covered Covered
Behavioral Visitor Covered Covered Covered Covered
Cloud Architecture Ambassador Covered Covered Covered Covered
Cloud Architecture Backends for Frontends Covered Covered Covered Covered
Cloud Architecture Bulkhead Covered Covered Covered Covered
Cloud Architecture Cache Stampede Protection Covered Covered Covered Covered
Cloud Architecture Cache-Aside Covered Covered Covered Covered
Cloud Architecture Circuit Breaker Covered Covered Covered Covered
Cloud Architecture Distributed Lock / Lease Covered Covered Covered Covered
Cloud Architecture External Configuration Store Covered Covered Covered Covered
Cloud Architecture Gateway Aggregation Covered Covered Covered Covered
Cloud Architecture Gateway Routing Covered Covered Covered Covered
Cloud Architecture Health Endpoint Monitoring Covered Covered Covered Covered
Cloud Architecture Leader Election Covered Covered Covered Covered
Cloud Architecture Priority Queue Covered Covered Covered Covered
Cloud Architecture Queue-Based Load Leveling Covered Covered Covered Covered
Cloud Architecture Rate Limiting Covered Covered Covered Covered
Cloud Architecture Read-Through Cache Covered Covered Covered Covered
Cloud Architecture Retry Covered Covered Covered Covered
Cloud Architecture Scheduler Agent Supervisor Covered Covered Covered Covered
Cloud Architecture Sidecar Covered Covered Covered Covered
Cloud Architecture Strangler Fig Covered Covered Covered Covered
Cloud Architecture Write-Through Cache Covered Covered Covered Covered
Creational Abstract Factory Covered Covered Covered Covered
Creational Builder Covered Covered Covered Covered
Creational Factory Method Covered Covered Covered Covered
Creational Object Pool Covered Covered Covered Covered
Creational Prototype Covered Covered Covered Covered
Creational Singleton Covered Covered Covered Covered
Enterprise Integration Aggregator Covered Covered Covered Covered
Enterprise Integration Canonical Data Model Covered Covered Covered Covered
Enterprise Integration Change Data Capture Covered Covered Covered Covered
Enterprise Integration Channel Adapter Covered Covered Covered Covered
Enterprise Integration Channel Purger Covered Covered Covered Covered
Enterprise Integration Invalid Message Channel Covered Covered Covered Covered
Enterprise Integration Claim Check Covered Covered Covered Covered
Enterprise Integration Competing Consumers Covered Covered Covered Covered
Enterprise Integration Content-Based Router Covered Covered Covered Covered
Enterprise Integration Content Enricher Covered Covered Covered Covered
Enterprise Integration Control Bus Covered Covered Covered Covered
Enterprise Integration Dead Letter Channel Covered Covered Covered Covered
Enterprise Integration Durable Subscriber Covered Covered Covered Covered
Enterprise Integration Dynamic Router Covered Covered Covered Covered
Enterprise Integration Message Bus Covered Covered Covered Covered
Enterprise Integration Messaging Bridge Covered Covered Covered Covered
Enterprise Integration Correlation Identifier Covered Covered Covered Covered
Enterprise Integration Message History Covered Covered Covered Covered
Enterprise Integration Event Notification Covered Covered Covered Covered
Enterprise Integration Event-Carried State Transfer Covered Covered Covered Covered
Enterprise Integration Event-Driven Consumer Covered Covered Covered Covered
Enterprise Integration Mailbox Covered Covered Covered Covered
Enterprise Integration Message Channel Covered Covered Covered Covered
Enterprise Integration Message Envelope Covered Covered Covered Covered
Enterprise Integration Message Filter Covered Covered Covered Covered
Enterprise Integration Message Expiration Covered Covered Covered Covered
Enterprise Integration Guaranteed Delivery Covered Covered Covered Covered
Enterprise Integration Message Store Covered Covered Covered Covered
Enterprise Integration Message Translator Covered Covered Covered Covered
Enterprise Integration Messaging Gateway Covered Covered Covered Covered
Enterprise Integration Pipes and Filters Covered Covered Covered Covered
Enterprise Integration Polling Consumer Covered Covered Covered Covered
Enterprise Integration Publish-Subscribe Covered Covered Covered Covered
Enterprise Integration Recipient List Covered Covered Covered Covered
Enterprise Integration Request-Reply Covered Covered Covered Covered
Enterprise Integration Resequencer Covered Covered Covered Covered
Enterprise Integration Routing Slip Covered Covered Covered Covered
Enterprise Integration Saga / Process Manager Covered Covered Covered Covered
Enterprise Integration Scatter-Gather Covered Covered Covered Covered
Enterprise Integration Service Activator Covered Covered Covered Covered
Enterprise Integration Splitter Covered Covered Covered Covered
Enterprise Integration Wire Tap Covered Covered Covered Covered
Messaging Reliability Backpressure Covered Covered Covered Covered
Messaging Reliability Idempotent Receiver Covered Covered Covered Covered
Messaging Reliability Inbox Covered Covered Covered Covered
Messaging Reliability Outbox Covered Covered Covered Covered
Structural Adapter Covered Covered Covered Covered
Structural Bridge Covered Covered Covered Covered
Structural Composite Covered Covered Covered Covered
Structural Decorator Covered Covered Covered Covered
Structural Facade Covered Covered Covered Covered
Structural Flyweight Covered Covered Covered Covered
Structural Proxy Covered Covered Covered Covered

Generator Matrix Results

Generator Source Matrix result
ActivityTrackerGenerator src/PatternKit.Generators/ActivityTracking/ActivityTrackerGenerator.cs Covered
TimeoutManagerGenerator src/PatternKit.Generators/Timeouts/TimeoutManagerGenerator.cs Covered
ManualTaskGateGenerator src/PatternKit.Generators/ManualTaskGates/ManualTaskGateGenerator.cs Covered
WorkflowOrchestrationGenerator src/PatternKit.Generators/WorkflowOrchestration/WorkflowOrchestrationGenerator.cs Covered
SnapshotCheckpointManagerGenerator src/PatternKit.Generators/SnapshotCheckpoints/SnapshotCheckpointManagerGenerator.cs Covered
EventualConsistencyMonitorGenerator src/PatternKit.Generators/EventualConsistency/EventualConsistencyMonitorGenerator.cs Covered
AggregateCommandHandlerGenerator src/PatternKit.Generators/Aggregates/AggregateCommandHandlerGenerator.cs Covered
AdapterGenerator src/PatternKit.Generators/Adapter/AdapterGenerator.cs Covered
AmbassadorGenerator src/PatternKit.Generators/Ambassador/AmbassadorGenerator.cs Covered
AntiCorruptionLayerGenerator src/PatternKit.Generators/AntiCorruption/AntiCorruptionLayerGenerator.cs Covered
AuditLogGenerator src/PatternKit.Generators/AuditLog/AuditLogGenerator.cs Covered
BackendsForFrontendsGenerator src/PatternKit.Generators/BackendsForFrontends/BackendsForFrontendsGenerator.cs Covered
BackpressurePolicyGenerator src/PatternKit.Generators/Backpressure/BackpressurePolicyGenerator.cs Covered
BridgeGenerator src/PatternKit.Generators/Bridge/BridgeGenerator.cs Covered
BuilderGenerator src/PatternKit.Generators/Builders/BuilderGenerator.cs Covered
BulkheadPolicyGenerator src/PatternKit.Generators/Bulkhead/BulkheadPolicyGenerator.cs Covered
CacheAsidePolicyGenerator src/PatternKit.Generators/CacheAside/CacheAsidePolicyGenerator.cs Covered
CacheStampedeProtectionGenerator src/PatternKit.Generators/CacheStampedeProtection/CacheStampedeProtectionGenerator.cs Covered
ReadWriteThroughCachePolicyGenerator src/PatternKit.Generators/ReadWriteThroughCache/ReadWriteThroughCachePolicyGenerator.cs Covered
CanonicalDataModelGenerator src/PatternKit.Generators/CanonicalDataModel/CanonicalDataModelGenerator.cs Covered
ChainGenerator src/PatternKit.Generators/Chain/ChainGenerator.cs Covered
CircuitBreakerPolicyGenerator src/PatternKit.Generators/CircuitBreaker/CircuitBreakerPolicyGenerator.cs Covered
ExternalConfigurationStoreGenerator src/PatternKit.Generators/Cloud/ExternalConfigurationStoreGenerator.cs Covered
CommandGenerator src/PatternKit.Generators/Command/CommandGenerator.cs Covered
CompensatingTransactionGenerator src/PatternKit.Generators/CompensatingTransactions/CompensatingTransactionGenerator.cs Covered
ComposerGenerator src/PatternKit.Generators/ComposerGenerator.cs Covered
CompositeGenerator src/PatternKit.Generators/Composite/CompositeGenerator.cs Covered
DataMapperGenerator src/PatternKit.Generators/DataMapping/DataMapperGenerator.cs Covered
DecoratorGenerator src/PatternKit.Generators/DecoratorGenerator.cs Covered
DomainEventDispatcherGenerator src/PatternKit.Generators/DomainEvents/DomainEventDispatcherGenerator.cs Covered
BoundedContextDescriptorGenerator src/PatternKit.Generators/BoundedContexts/BoundedContextDescriptorGenerator.cs Covered
ContextMapDescriptorGenerator src/PatternKit.Generators/ContextMaps/ContextMapDescriptorGenerator.cs Covered
DomainServiceRegistryGenerator src/PatternKit.Generators/DomainServices/DomainServiceRegistryGenerator.cs Covered
EventCarriedStateTransferGenerator src/PatternKit.Generators/EventCarriedStateTransfer/EventCarriedStateTransferGenerator.cs Covered
EventNotificationGenerator src/PatternKit.Generators/EventNotification/EventNotificationGenerator.cs Covered
EventStoreGenerator src/PatternKit.Generators/EventSourcing/EventStoreGenerator.cs Covered
FacadeGenerator src/PatternKit.Generators/FacadeGenerator.cs Covered
AbstractFactoryGenerator src/PatternKit.Generators/Factories/AbstractFactoryGenerator.cs Covered
FactoriesGenerator src/PatternKit.Generators/Factories/FactoriesGenerator.cs Covered
FeatureToggleSetGenerator src/PatternKit.Generators/FeatureToggles/FeatureToggleSetGenerator.cs Covered
FlyweightGenerator src/PatternKit.Generators/Flyweight/FlyweightGenerator.cs Covered
GatewayAggregationGenerator src/PatternKit.Generators/GatewayAggregation/GatewayAggregationGenerator.cs Covered
GatewayRoutingGenerator src/PatternKit.Generators/GatewayRouting/GatewayRoutingGenerator.cs Covered
HealthEndpointMonitoringGenerator src/PatternKit.Generators/HealthEndpointMonitoring/HealthEndpointMonitoringGenerator.cs Covered
IdentityMapGenerator src/PatternKit.Generators/IdentityMap/IdentityMapGenerator.cs Covered
LazyLoadGenerator src/PatternKit.Generators/LazyLoading/LazyLoadGenerator.cs Covered
InterpreterGenerator src/PatternKit.Generators/Interpreter/InterpreterGenerator.cs Covered
IteratorGenerator src/PatternKit.Generators/Iterator/IteratorGenerator.cs Covered
LeaderElectionGenerator src/PatternKit.Generators/LeaderElection/LeaderElectionGenerator.cs Covered
DistributedLockGenerator src/PatternKit.Generators/DistributedLocks/DistributedLockGenerator.cs Covered
MaterializedViewGenerator src/PatternKit.Generators/MaterializedViews/MaterializedViewGenerator.cs Covered
MementoGenerator src/PatternKit.Generators/MementoGenerator.cs Covered
NullObjectGenerator src/PatternKit.Generators/NullObject/NullObjectGenerator.cs Covered
BackplaneTopologyGenerator src/PatternKit.Generators/Messaging/BackplaneTopologyGenerator.cs Covered
ChannelAdapterGenerator src/PatternKit.Generators/Messaging/ChannelAdapterGenerator.cs Covered
ChangeDataCaptureGenerator src/PatternKit.Generators/ChangeDataCapture/ChangeDataCaptureGenerator.cs Covered
ChannelPurgerGenerator src/PatternKit.Generators/Messaging/ChannelPurgerGenerator.cs Covered
InvalidMessageChannelGenerator src/PatternKit.Generators/Messaging/InvalidMessageChannelGenerator.cs Covered
ClaimCheckGenerator src/PatternKit.Generators/Messaging/ClaimCheckGenerator.cs Covered
CompetingConsumerGroupGenerator src/PatternKit.Generators/Messaging/CompetingConsumerGroupGenerator.cs Covered
ContentEnricherGenerator src/PatternKit.Generators/Messaging/ContentEnricherGenerator.cs Covered
ContentRouterGenerator src/PatternKit.Generators/Messaging/ContentRouterGenerator.cs Covered
ControlBusGenerator src/PatternKit.Generators/Messaging/ControlBusGenerator.cs Covered
DeadLetterChannelGenerator src/PatternKit.Generators/Messaging/DeadLetterChannelGenerator.cs Covered
DispatcherGenerator src/PatternKit.Generators/Messaging/DispatcherGenerator.cs Covered
DurableSubscriberGenerator src/PatternKit.Generators/Messaging/DurableSubscriberGenerator.cs Covered
DynamicRouterGenerator src/PatternKit.Generators/Messaging/DynamicRouterGenerator.cs Covered
EventDrivenConsumerGenerator src/PatternKit.Generators/Messaging/EventDrivenConsumerGenerator.cs Covered
MailboxGenerator src/PatternKit.Generators/Messaging/MailboxGenerator.cs Covered
MessageBusGenerator src/PatternKit.Generators/Messaging/MessageBusGenerator.cs Covered
MessagingBridgeGenerator src/PatternKit.Generators/Messaging/MessagingBridgeGenerator.cs Covered
MessageChannelGenerator src/PatternKit.Generators/Messaging/MessageChannelGenerator.cs Covered
MessageEnvelopeGenerator src/PatternKit.Generators/Messaging/MessageEnvelopeGenerator.cs Covered
MessageFilterGenerator src/PatternKit.Generators/Messaging/MessageFilterGenerator.cs Covered
MessageExpirationGenerator src/PatternKit.Generators/Messaging/MessageExpirationGenerator.cs Covered
GuaranteedDeliveryGenerator src/PatternKit.Generators/Messaging/GuaranteedDeliveryGenerator.cs Covered
CorrelationIdentifierGenerator src/PatternKit.Generators/Messaging/CorrelationIdentifierGenerator.cs Covered
MessageHistoryGenerator src/PatternKit.Generators/Messaging/MessageHistoryGenerator.cs Covered
MessageStoreGenerator src/PatternKit.Generators/Messaging/MessageStoreGenerator.cs Covered
MessageTranslatorGenerator src/PatternKit.Generators/Messaging/MessageTranslatorGenerator.cs Covered
MessagingGatewayGenerator src/PatternKit.Generators/Messaging/MessagingGatewayGenerator.cs Covered
PipesAndFiltersPipelineGenerator src/PatternKit.Generators/Messaging/PipesAndFiltersPipelineGenerator.cs Covered
PollingConsumerGenerator src/PatternKit.Generators/Messaging/PollingConsumerGenerator.cs Covered
RecipientListGenerator src/PatternKit.Generators/Messaging/RecipientListGenerator.cs Covered
ReliabilityPipelineGenerator src/PatternKit.Generators/Messaging/ReliabilityPipelineGenerator.cs Covered
ResequencerGenerator src/PatternKit.Generators/Messaging/ResequencerGenerator.cs Covered
RoutingSlipGenerator src/PatternKit.Generators/Messaging/RoutingSlipGenerator.cs Covered
SagaGenerator src/PatternKit.Generators/Messaging/SagaGenerator.cs Covered
ScatterGatherGenerator src/PatternKit.Generators/Messaging/ScatterGatherGenerator.cs Covered
ServiceActivatorGenerator src/PatternKit.Generators/Messaging/ServiceActivatorGenerator.cs Covered
SplitterAggregatorGenerator src/PatternKit.Generators/Messaging/SplitterAggregatorGenerator.cs Covered
WireTapGenerator src/PatternKit.Generators/Messaging/WireTapGenerator.cs Covered
ObserverGenerator src/PatternKit.Generators/Observer/ObserverGenerator.cs Covered
ObjectPoolGenerator src/PatternKit.Generators/ObjectPool/ObjectPoolGenerator.cs Covered
PriorityQueueGenerator src/PatternKit.Generators/PriorityQueue/PriorityQueueGenerator.cs Covered
PrototypeGenerator src/PatternKit.Generators/PrototypeGenerator.cs Covered
ProxyGenerator src/PatternKit.Generators/ProxyGenerator.cs Covered
QueueLoadLevelingPolicyGenerator src/PatternKit.Generators/QueueLoadLeveling/QueueLoadLevelingPolicyGenerator.cs Covered
RateLimitPolicyGenerator src/PatternKit.Generators/RateLimiting/RateLimitPolicyGenerator.cs Covered
RepositoryGenerator src/PatternKit.Generators/Repository/RepositoryGenerator.cs Covered
RetryPolicyGenerator src/PatternKit.Generators/Retry/RetryPolicyGenerator.cs Covered
SchedulerAgentSupervisorGenerator src/PatternKit.Generators/SchedulerAgentSupervisor/SchedulerAgentSupervisorGenerator.cs Covered
ServiceLayerOperationGenerator src/PatternKit.Generators/ServiceLayer/ServiceLayerOperationGenerator.cs Covered
PortsAndAdaptersGenerator src/PatternKit.Generators/PortsAndAdapters/PortsAndAdaptersGenerator.cs Covered
SidecarGenerator src/PatternKit.Generators/Sidecar/SidecarGenerator.cs Covered
SingletonGenerator src/PatternKit.Generators/Singleton/SingletonGenerator.cs Covered
SpecificationGenerator src/PatternKit.Generators/Specification/SpecificationGenerator.cs Covered
ValueObjectGenerator src/PatternKit.Generators/ValueObjects/ValueObjectGenerator.cs Covered
StateMachineGenerator src/PatternKit.Generators/StateMachineGenerator.cs Covered
StranglerFigGenerator src/PatternKit.Generators/StranglerFig/StranglerFigGenerator.cs Covered
StrategyGenerator src/PatternKit.Generators/StrategyGenerator.cs Covered
TableDataGatewayGenerator src/PatternKit.Generators/TableDataGateway/TableDataGatewayGenerator.cs Covered
TemplateGenerator src/PatternKit.Generators/TemplateGenerator.cs Covered
TransactionScriptGenerator src/PatternKit.Generators/TransactionScript/TransactionScriptGenerator.cs Covered
UnitOfWorkGenerator src/PatternKit.Generators/UnitOfWork/UnitOfWorkGenerator.cs Covered
VisitorGenerator src/PatternKit.Generators/VisitorGenerator.cs Covered

Reproducing Results

Run the scenario benchmarks:

dotnet run -c Release --framework net10.0 --project benchmarks/PatternKit.Benchmarks -- --filter *LeaderElection* --artifacts artifacts/benchmarks --join
dotnet run -c Release --framework net10.0 --project benchmarks/PatternKit.Benchmarks -- --filter *SchedulerAgentSupervisor* --artifacts artifacts/benchmarks --join

Run the full reportable benchmark suite:

dotnet run -c Release --framework net10.0 --project benchmarks/PatternKit.Benchmarks -- --artifacts artifacts/benchmarks --join

Run only the matrix routes when validating benchmark coverage changes:

dotnet run -c Release --framework net10.0 --project benchmarks/PatternKit.Benchmarks -- --filter *Matrix* --artifacts artifacts/benchmarks --join --job short