Summary
Benchmark side effect and result materialization in the core mutation runtime.
Goal
Measure the cost of creating MutationResult objects, materializing side effects, and producing change set or history output so the runtime's output path remains visible as the engine evolves.
Problem
Even when the core engine executes mutations quickly, the cost of building the final result object graph can still become meaningful part of total runtime. That includes result creation, side effect materialization, and any change set or history output produced for downstream consumers.
Without dedicated benchmark, changes in those output paths can go unnoticed until they show up in broader throughput or memory regressions.
Scope
Design Expectations
- Result materialization should be measured separately from raw mutation application where possible.
- Side effect and history output should be benchmarked as distinct concerns if they have different cost profiles.
- The benchmark setup should remain minimal and deterministic.
- Helper code should stay local to the benchmark project.
- Scenario names should make it clear which output path is being measured.
Suggested Measurements
MutationResult creation with no side effects
MutationResult creation with one or more side effects
- change set / history output materialization for executed mutations
Acceptance Criteria
Non-Goals
- This issue does not change how results are produced
- This issue does not add provider specific output benchmarks
- This issue does not optimize result creation prematurely
- This issue does not change runtime behavior
Notes
This issue is child of the benchmark umbrella #55.
Summary
Benchmark side effect and result materialization in the core mutation runtime.
Goal
Measure the cost of creating
MutationResultobjects, materializing side effects, and producing change set or history output so the runtime's output path remains visible as the engine evolves.Problem
Even when the core engine executes mutations quickly, the cost of building the final result object graph can still become meaningful part of total runtime. That includes result creation, side effect materialization, and any change set or history output produced for downstream consumers.
Without dedicated benchmark, changes in those output paths can go unnoticed until they show up in broader throughput or memory regressions.
Scope
MutationResultcreation cost in the core runtimeDesign Expectations
Suggested Measurements
MutationResultcreation with no side effectsMutationResultcreation with one or more side effectsAcceptance Criteria
MutationResultcreation is benchmarked in the core runtimeNon-Goals
Notes
This issue is child of the benchmark umbrella
#55.