Skip to content

Comments

fix: Implement PropertyList and Query for tuples of size up to 20#789

Merged
RobertJacobsonCDC merged 1 commit intomainfrom
RobertJacobsonCDC_prop_list_typo
Feb 20, 2026
Merged

fix: Implement PropertyList and Query for tuples of size up to 20#789
RobertJacobsonCDC merged 1 commit intomainfrom
RobertJacobsonCDC_prop_list_typo

Conversation

@RobertJacobsonCDC
Copy link
Collaborator

At some point some knucklehead changed the bounds on the macro invocation that generates the trait impls for PropertyList and Query for tuples up to size 20 for completely mysterious reasons. This is the fix.

github-actions bot added a commit that referenced this pull request Feb 20, 2026
@github-actions
Copy link

Benchmark Results

Hyperfine

Command Mean [ms] Min [ms] Max [ms] Relative
large_sir::baseline 2.9 ± 0.0 2.8 3.0 1.00
large_sir::entities 12.3 ± 0.4 12.0 14.0 4.27 ± 0.15

Criterion

Regressions (slower)
Group Bench Param Change CI Lower CI Upper
counts single_property_unindexed_entities 14.150% 11.375% 17.021%
large_dataset bench_query_population_multi_unindexed_entities 6.971% 4.822% 9.110%
sample_entity sample_entity_single_property_unindexed 1000 6.521% 5.769% 7.220%
algorithm_benches algorithm_sampling_multiple_known_length 5.068% 4.848% 5.311%
algorithm_benches algorithm_sampling_multiple_l_reservoir 4.221% 3.923% 4.565%
indexing query_people_multiple_individually_indexed_properties_entities 2.338% 1.848% 2.803%
sampling sampling_multiple_l_reservoir_entities 2.152% 1.807% 2.485%
sample_entity sample_entity_whole_population 10000 1.668% 1.194% 2.246%
Improvements (faster)
Group Bench Param Change CI Lower CI Upper
indexing query_people_indexed_multi-property_entities -11.570% -11.795% -11.322%
indexing query_people_count_single_indexed_property_entities -8.760% -8.910% -8.583%
large_dataset bench_match_entity -7.973% -8.165% -7.756%
sampling sampling_multiple_unindexed_entities -3.624% -3.754% -3.467%
large_dataset bench_query_population_derived_property_entities -3.577% -4.155% -3.055%
sample_entity sample_entity_single_property_indexed 1000 -2.630% -2.843% -2.395%
sampling sampling_single_unindexed_entities -2.617% -3.063% -2.157%
sample_entity sample_entity_multi_property_indexed 100000 -2.004% -2.310% -1.677%
counts index_after_adding_entities -1.946% -2.460% -1.293%
indexing with_query_results_multiple_individually_indexed_properties_enti -1.809% -2.136% -1.487%
Unchanged / inconclusive (CI crosses 0%)
Group Bench Param Change CI Lower CI Upper
large_dataset bench_filter_unindexed_entity 4.386% -0.300% 9.687%
counts multi_property_indexed_entities 1.936% 0.201% 4.255%
sampling sampling_single_known_length_entities 1.922% 0.749% 2.879%
indexing with_query_results_indexed_multi-property_entities -1.779% -2.836% -0.804%
sample_entity sample_entity_single_property_unindexed 10000 -1.416% -2.177% -0.740%
sampling sampling_multiple_known_length_entities -1.290% -1.775% -0.780%
sample_entity sample_entity_single_property_indexed 10000 1.064% 0.644% 1.561%
large_dataset bench_query_population_indexed_property_entities 1.026% 0.611% 1.302%
counts multi_property_unindexed_entities -0.991% -2.339% 0.157%
examples example-basic-infection -0.674% -1.371% 0.012%
sample_entity sample_entity_multi_property_indexed 10000 -0.527% -0.853% -0.081%
large_dataset bench_query_population_property_entities 0.502% -0.233% 1.347%
counts reindex_after_adding_more_entities -0.492% -0.923% -0.123%
indexing query_people_count_indexed_multi-property_entities -0.483% -0.775% -0.204%
algorithm_benches algorithm_sampling_single_rand_reservoir -0.457% -0.982% -0.021%
sample_entity sample_entity_whole_population 100000 0.440% 0.106% 0.928%
sample_entity sample_entity_whole_population 1000 -0.413% -0.944% 0.008%
sampling sampling_single_l_reservoir_entities -0.393% -0.556% -0.223%
algorithm_benches algorithm_sampling_single_known_length 0.391% -0.181% 1.071%
sample_entity sample_entity_single_property_unindexed 100000 -0.391% -1.073% 0.179%
examples example-births-deaths -0.350% -0.658% -0.014%
indexing query_people_count_multiple_individually_indexed_properties_enti 0.313% -0.415% 1.263%
counts single_property_indexed_entities 0.284% -0.360% 1.184%
sample_entity sample_entity_single_property_indexed 100000 0.203% -0.389% 0.865%
large_dataset bench_query_population_multi_indexed_entities -0.167% -0.713% 0.329%
sample_entity sample_entity_multi_property_indexed 1000 0.141% -0.375% 0.795%
indexing with_query_results_single_indexed_property_entities -0.117% -0.565% 0.393%
large_dataset bench_filter_indexed_entity 0.093% -11.434% 13.296%
algorithm_benches algorithm_sampling_single_l_reservoir 0.071% -0.169% 0.449%
indexing query_people_single_indexed_property_entities 0.027% -0.290% 0.273%

@RobertJacobsonCDC RobertJacobsonCDC marked this pull request as ready for review February 20, 2026 15:25
Copy link
Collaborator

@cdc-as81 cdc-as81 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@RobertJacobsonCDC RobertJacobsonCDC merged commit 18ad05d into main Feb 20, 2026
20 checks passed
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.

2 participants