Skip to content

fix: PropertyValueCountTrigger now observes PropertyInitializedEvent - #1026

Open
RobertJacobsonCDC wants to merge 1 commit into
RobertJacobsonCDC_1000_property_initialized_eventfrom
RobertJacobsonCDC_992_fix_property_change_counter
Open

fix: PropertyValueCountTrigger now observes PropertyInitializedEvent#1026
RobertJacobsonCDC wants to merge 1 commit into
RobertJacobsonCDC_1000_property_initialized_eventfrom
RobertJacobsonCDC_992_fix_property_change_counter

Conversation

@RobertJacobsonCDC

@RobertJacobsonCDC RobertJacobsonCDC commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

Fixes #922, a possible underflow in PropertyValueCountTrigger.

This PR is stacked on #1025.

@github-actions

Copy link
Copy Markdown

Benchmark Results

Hyperfine

Command Mean [ms] Min [ms] Max [ms] Relative
large_sir::baseline 3.5 ± 0.1 3.4 3.6 1.00
large_sir::baseline_households 3.5 ± 0.1 3.4 3.6 1.01 ± 0.02
large_sir::entities 7.9 ± 0.1 7.6 8.3 2.28 ± 0.05
large_sir::households 8.0 ± 0.6 7.6 10.6 2.32 ± 0.19

Criterion

Regressions (slower)
Group Bench Param Change CI Lower CI Upper
indexing with_query_results_indexed_multi-property_entities 42.543% 39.932% 44.968%
sample_entity sample_entity_whole_population 1000 31.604% 27.584% 36.017%
sample_entity sample_entity_whole_population 10000 29.286% 25.385% 33.148%
sample_entity sample_entity_whole_population 100000 26.932% 22.546% 31.202%
indexing query_people_count_indexed_multi-property_entities 23.730% 21.816% 26.028%
large_dataset bench_query_population_multi_indexed_entities 20.230% 17.205% 23.162%
counts multi_property_unindexed_entities 17.679% 16.337% 18.936%
large_dataset bench_query_population_derived_property_entities 6.928% 5.628% 8.278%
sampling sampling_multiple_unindexed_entities 3.201% 2.778% 3.597%
examples example-births-deaths 2.530% 2.091% 2.853%
examples example-basic-infection 2.017% 1.511% 2.620%
sampling sampling_single_unindexed_concrete_plus_derived_entities 1.790% 1.360% 2.214%
Improvements (faster)
Group Bench Param Change CI Lower CI Upper
counts concrete_plus_derived_unindexed_entities -20.173% -21.095% -19.032%
sample_entity sample_entity_single_property_indexed 10000 -19.648% -21.041% -18.182%
sample_entity sample_entity_single_property_indexed 100000 -17.151% -20.753% -13.696%
counts single_property_unindexed_entities -15.541% -16.927% -13.967%
large_dataset bench_query_population_multi_unindexed_entities -8.921% -10.782% -7.118%
large_dataset bench_match_entity -6.911% -7.297% -6.511%
sample_entity sample_entity_single_property_unindexed 100000 -5.015% -6.820% -3.052%
indexing query_people_multiple_individually_indexed_properties_entities -3.301% -3.431% -3.169%
counts multi_property_indexed_entities -3.299% -4.509% -2.119%
counts reindex_after_adding_more_entities -3.205% -3.711% -2.809%
sample_entity sample_entity_single_property_unindexed 1000 -3.146% -3.540% -2.732%
indexing query_people_count_multiple_individually_indexed_properties_enti -2.820% -2.924% -2.705%
sample_entity sample_entity_multi_property_indexed 100000 -2.211% -3.208% -1.169%
counts index_after_adding_entities -2.204% -2.541% -1.898%
sampling sampling_single_l_reservoir_entities -1.812% -2.140% -1.509%
indexing query_people_count_single_indexed_property_entities -1.687% -2.141% -1.294%
Unchanged / inconclusive (CI crosses 0%)
Group Bench Param Change CI Lower CI Upper
sample_entity sample_entity_single_property_indexed 1000 -2.024% -3.431% -0.495%
large_dataset bench_filter_unindexed_entity -2.014% -4.969% 0.741%
sample_entity sample_entity_multi_property_indexed 10000 -1.759% -2.944% -0.608%
sample_entity sample_entity_multi_property_indexed 1000 -1.068% -2.765% 0.616%
sampling count_and_sampling_single_unindexed_concrete_plus_derived_entiti -1.012% -1.414% -0.599%
sampling sampling_single_known_length_entities -0.916% -1.181% -0.668%
indexing with_query_results_multiple_individually_indexed_properties_enti 0.824% 0.300% 1.373%
indexing with_query_results_single_indexed_property_entities -0.585% -0.992% -0.209%
indexing query_people_indexed_multi-property_entities -0.566% -1.087% -0.149%
large_dataset bench_query_population_property_entities -0.460% -1.416% 0.284%
sampling sampling_multiple_l_reservoir_entities -0.405% -0.593% -0.229%
algorithm_benches algorithm_sampling_multiple_l_reservoir -0.387% -0.761% 0.032%
sample_entity sample_entity_single_property_unindexed 10000 0.370% -0.245% 0.913%
algorithm_benches algorithm_sampling_multiple_known_length 0.325% -0.207% 1.147%
sampling count_and_sampling_single_known_length_entities 0.307% -0.325% 1.048%
counts single_property_indexed_entities 0.282% -0.015% 0.682%
algorithm_benches algorithm_sampling_single_known_length 0.192% -1.480% 1.789%
large_dataset bench_query_population_indexed_property_entities 0.164% -0.164% 0.618%
large_dataset bench_filter_indexed_entity 0.140% -1.606% 1.783%
algorithm_benches algorithm_sampling_single_l_reservoir -0.086% -0.453% 0.231%
sampling sampling_single_unindexed_entities -0.083% -0.448% 0.187%
indexing query_people_single_indexed_property_entities -0.072% -0.204% 0.029%
algorithm_benches algorithm_sampling_single_rand_reservoir -0.046% -0.198% 0.087%
sampling sampling_multiple_known_length_entities -0.043% -0.287% 0.206%
Not Compared (no baseline yet)
Group Bench Reason
(none)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Underflow possible in PropertyValueCountTrigger implementation

2 participants