patchlevel / event-sourcing

An event sourcing library, complete with all the essential features, powered by the reliable Doctrine ecosystem and focused on developer experience.
https://event-sourcing.patchlevel.io
MIT License
116 stars 4 forks source link

Add RunSubscriptionEngineRepository #588

Closed DavidBadura closed 1 month ago

DavidBadura commented 1 month ago

The repository decorator runs the subscription engine after an aggregate has been saved. This means that a Subscription Engine Worker does not necessarily have to be used for the projectors and processors to run. This should be used in combination with the CatchUpSubscriptionEngine decorator. And is highly recommended for development and testing.

github-actions[bot] commented 1 month ago

Hello :wave:

here is the most recent benchmark result:

``` SplitStreamBench ================ +-------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ | | time (kde mode) | memory | +-------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ | subject | Tag: | Tag: base | time-diff | Tag: | Tag: base | memory-diff | +-------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ | benchLoad10000Events () | 4.837ms (±0.00%) | 4.811ms (±0.00%) | +0.53% | 37.572mb | 37.578mb | -0.02% | | benchSave10000Events () | 337.736ms (±0.00%) | 359.066ms (±0.00%) | -5.94% | 37.573mb | 37.579mb | -0.02% | +-------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ SimpleSetupBench ================ +----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ | | time (kde mode) | memory | +----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ | subject | Tag: | Tag: base | time-diff | Tag: | Tag: base | memory-diff | +----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ | benchLoad1Event () | 947.800μs (±0.00%) | 933.300μs (±0.00%) | +1.55% | 33.762mb | 33.762mb | 0.00% | | benchLoad10000Events () | 49.180ms (±0.00%) | 49.189ms (±0.00%) | -0.02% | 33.762mb | 33.762mb | 0.00% | | benchSave1Event () | 1.059ms (±0.00%) | 1.019ms (±0.00%) | +3.94% | 33.762mb | 33.762mb | 0.00% | | benchSave10000Events () | 215.118ms (±0.00%) | 218.143ms (±0.00%) | -1.39% | 33.764mb | 33.764mb | 0.00% | | benchSave10000Aggregates () | 8.565s (±0.00%) | 8.393s (±0.00%) | +2.04% | 33.762mb | 33.762mb | 0.00% | | benchSave10000AggregatesTransaction () | 6.887s (±0.00%) | 6.916s (±0.00%) | -0.42% | 33.763mb | 33.763mb | 0.00% | +----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ SnapshotsBench ============== +----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ | | time (kde mode) | memory | +----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ | subject | Tag: | Tag: base | time-diff | Tag: | Tag: base | memory-diff | +----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ | benchLoad10000EventsMissingSnapshot () | 49.475ms (±0.00%) | 50.044ms (±0.00%) | -1.14% | 33.763mb | 33.763mb | 0.00% | | benchLoad10000Events () | 890.700μs (±0.00%) | 884.600μs (±0.00%) | +0.69% | 33.763mb | 33.763mb | 0.00% | +----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ PersonalDataBench ================= +----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ | | time (kde mode) | memory | +----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ | subject | Tag: | Tag: base | time-diff | Tag: | Tag: base | memory-diff | +----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ | benchLoad1Event () | 876.200μs (±0.00%) | 859.900μs (±0.00%) | +1.90% | 34.892mb | 34.892mb | 0.00% | | benchLoad10000Events () | 84.151ms (±0.00%) | 82.030ms (±0.00%) | +2.59% | 34.892mb | 34.892mb | 0.00% | | benchSave1Event () | 1.477ms (±0.00%) | 1.428ms (±0.00%) | +3.41% | 34.892mb | 34.892mb | 0.00% | | benchSave10000Events () | 246.349ms (±0.00%) | 244.572ms (±0.00%) | +0.73% | 34.894mb | 34.894mb | 0.00% | | benchSave10000Aggregates () | 12.645s (±0.00%) | 12.388s (±0.00%) | +2.07% | 34.892mb | 34.892mb | 0.00% | | benchSave10000AggregatesTransaction () | 10.948s (±0.00%) | 10.886s (±0.00%) | +0.57% | 35.394mb | 35.394mb | 0.00% | +----------------------------------------+--------------------+--------------------+-----------+-----------------+------------+-------------+ SubscriptionEngineBench ======================= +---------------------------+-----------------+-----------------+-----------+-----------------+------------+-------------+ | | time (kde mode) | memory | +---------------------------+-----------------+-----------------+-----------+-----------------+------------+-------------+ | subject | Tag: | Tag: base | time-diff | Tag: | Tag: base | memory-diff | +---------------------------+-----------------+-----------------+-----------+-----------------+------------+-------------+ | benchHandle10000Events () | 3.091s (±0.00%) | 3.088s (±0.00%) | +0.10% | 34.162mb | 34.162mb | 0.00% | +---------------------------+-----------------+-----------------+-----------+-----------------+------------+-------------+ ```

This comment gets update everytime a new commit comes in!