Skip to content

Rounding out specification of prune behavior inside lean model - #152

Merged
luketpeterson merged 2 commits into
masterfrom
update_prune_model
Oct 4, 2026
Merged

luketpeterson merged 2 commits into
masterfrom
update_prune_model

Conversation

@luketpeterson

Copy link
Copy Markdown
Collaborator

No description provided.

@luketpeterson
luketpeterson requested a review from imlvts October 2, 2026 07:51
@github-actions

github-actions Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Bench A/B vs base: done

job log · 2026-10-04 01:52:43 UTC

base b4a6abd → head 85220b4, 3 round(s), median of each run averaged; negative is faster

bench cases geomean largest gain largest loss >5% faster >5% slower
shakespeare 7 -2.1% -8.0% shakespeare/shakespeare_words_val_count +7.3% shakespeare/shakespeare_sentences_get 1 1
cities 5 -0.3% -3.2% cities/cities_val_count_act +1.0% cities/cities_val_count 0 0
sparse_keys 96 -0.7% -4.8% sparse_drop_bench/400 +3.4% join_sparse/50 0 0
binary_keys 77 -1.0% -7.2% binary_zipper_iter/50 +13.2% binary_set_val_at_long_replace/160 7 6
superdense_keys 104 +0.2% -5.7% superdense_drop_head/2000 +5.2% superdense_insert/200 1 1
act_paths 46 -1.0% -5.6% shape_map_to_act_cata/random_long +4.3% size_paths_to_act/25000 1 0
zipper_head_owned 6 +1.4% -2.9% zipper_head_owned/owned_head_write_creation_cleanup_unchecked +7.8% zipper_head_owned/borrowed_head_read_creation 0 2
product_zipper 4 -1.3% -2.2% product_zipper/introspecting_pathmap_pathmap +0.9% product_zipper/generic_act_act 0 0
20 case(s) moved more than 5%
bench case base head change
binary_keys binary_set_val_at_long_replace/160 50 ns 56 ns +13.2%
binary_keys binary_set_val_at_long_replace/256 70 ns 78 ns +10.7%
binary_keys binary_insert/1600 157.17 µs 172.47 µs +9.7%
binary_keys binary_set_val_at_short_replace/3 24 ns 26 ns +8.3%
shakespeare shakespeare/shakespeare_words_val_count 337.93 µs 310.93 µs -8.0%
zipper_head_owned zipper_head_owned/borrowed_head_read_creation 11.01 µs 11.86 µs +7.8%
shakespeare shakespeare/shakespeare_sentences_get 47.28 ms 50.74 ms +7.3%
binary_keys binary_zipper_iter/50 1.26 µs 1.17 µs -7.2%
binary_keys binary_zipper_iter/100 2.45 µs 2.29 µs -6.3%
binary_keys binary_drop_head/50 4.73 µs 4.44 µs -6.2%
binary_keys binary_zipper_iter/400 9.30 µs 8.76 µs -5.9%
binary_keys binary_zipper_iter/800 18.15 µs 17.10 µs -5.8%
superdense_keys superdense_drop_head/2000 22.57 µs 21.27 µs -5.7%
binary_keys binary_zipper_iter/1600 35.81 µs 33.78 µs -5.7%
act_paths shape_map_to_act_cata/random_long 50.41 ms 47.58 ms -5.6%
binary_keys binary_descend_until/2000 190.67 µs 180.20 µs -5.5%
superdense_keys superdense_insert/200 2.17 µs 2.28 µs +5.2%
zipper_head_owned zipper_head_owned/owned_head_read_creation 11.81 µs 12.43 µs +5.2%
binary_keys binary_insert/100 7.30 µs 7.67 µs +5.2%
binary_keys binary_insert/200 15.49 µs 16.27 µs +5.1%

Full tables per bench are in the job log and the bench-out artifact.

@luketpeterson
luketpeterson marked this pull request as ready for review October 3, 2026 06:40

@imlvts imlvts left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

My criteria are the following:

  • The model covers more
  • The model is simpler (fewer special cases)

As far as I can tell this PR covers that. Simpler model, covers more.
Please upload reproducer corpus files
corpus/prune{-flag-remove-val.bin,-remove-val-valued.bin,-unmasked.bin,-subtract.bin}
and we can merge

…ope for this PR. This PR was intended to update the lean model with a model of the correct behavior of the prune flag and the prune operations. Including reproduction cases was incidental and incomplete.
@luketpeterson
luketpeterson merged commit ff6828b into master Oct 4, 2026
3 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