Skip to content

Add cached Fusion batching-group registrations per operation plan#9209

Merged
michaelstaib merged 32 commits intomainfrom
perf/fusion-execution-batching-cache
Feb 25, 2026
Merged

Add cached Fusion batching-group registrations per operation plan#9209
michaelstaib merged 32 commits intomainfrom
perf/fusion-execution-batching-cache

Conversation

@michaelstaib
Copy link
Copy Markdown
Member

@michaelstaib michaelstaib commented Feb 25, 2026

  • Cache batching-group registrations once in OperationPlan instead of rebuilding group maps on every execution.
  • Reuse cached registrations in OperationPlanExecutor.RegisterBatchingGroups to reduce per-request allocations and repeated node scans.
  • Simplify ExecutionState.CanExecuteNode with an early-return dependency check.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 25, 2026

Fusion Gateway Performance Results

Simple Composite Query

Req/s Err%
Constant 2 (50 VUs) 3994.27 0.00%
Ramping 2 (0-500-0 VUs) 3722.19 0.00%
Response Times
Min Med Avg P90 P95 Max
Constant 2 1.00ms 9.82ms 12.29ms 20.45ms 29.00ms 259.41ms
Ramping 2 1.16ms 53.09ms 58.72ms 102.08ms 147.51ms 284.18ms

Deep Recursion Query

Req/s Err%
Constant 2 (50 VUs) 812.91 0.00%
Ramping 2 (0-500-0 VUs) 892.86 0.00%
Response Times
Min Med Avg P90 P95 Max
Constant 2 10.81ms 52.60ms 59.56ms 76.79ms 95.51ms 676.42ms
Ramping 2 3.13ms 210.95ms 229.90ms 465.42ms 517.70ms 859.95ms

Variable Batching Throughput

Req/s Err%
Constant 2 (50 VUs) 5836.91 0.00%
Ramping 2 (0-500-0 VUs) 5338.84 0.00%
Response Times
Min Med Avg P90 P95 Max
Constant 2 0.14ms 8.00ms 8.47ms 14.13ms 17.16ms 53.78ms
Ramping 2 0.18ms 38.92ms 43.02ms 80.24ms 103.81ms 218.06ms

Runner 2 = benchmarking-2

Run 22418573209 • Commit da58816 • Wed, 25 Feb 2026 23:18:47 GMT

@michaelstaib michaelstaib changed the title perf: cache Fusion batching-group registrations per operation plan Add cached Fusion batching-group registrations per operation plan Feb 25, 2026
@michaelstaib michaelstaib added the 🎬 ready Ready to merge label Feb 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant