Skip to content

Reenable the append tree and change metrics to use the append tree #661

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jan 15, 2025

Conversation

Ulimo
Copy link
Contributor

@Ulimo Ulimo commented Jan 15, 2025

The append tree is a special case of the B+ tree which fills a page completely and instead of splitting it creates a new page on the right.

This means that page will be packed exactly to the limit which helps reduce the amount of pages.
Searching is still as quick as the B+ tree.

It is possible to prune from the left of the tree where entire leaf pages are removed if all values in the leaf page are in the pruning range. This allows pruning to be done without loading the actual leaf page from persistent or temporary disk storage.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Benchmark

Benchmark suite Current: 7121b1d Previous: 4ae8b85 Ratio
FlowtideDotNet.Benchmarks.Stream.StreamBenchmark.InnerJoin 555691350 ns (± 6861273.865273541) 592945200 ns (± 35581532.03160469) 0.94
FlowtideDotNet.Benchmarks.Stream.StreamBenchmark.LeftJoin 666499380 ns (± 35172344.0332442) 658813590 ns (± 45349397.746520415) 1.01
FlowtideDotNet.Benchmarks.Stream.StreamBenchmark.ProjectionAndNormalization 205593560 ns (± 16563252.26646828) 201853112.5 ns (± 5564610.621581839) 1.02
FlowtideDotNet.Benchmarks.Stream.StreamBenchmark.SumAggregation 236603690 ns (± 12084614.155514715) 228276677.7777778 ns (± 6383403.230796598) 1.04
FlowtideDotNet.Benchmarks.Stream.StreamBenchmark.ListAggWithMapAggregation 2279663930 ns (± 103394319.08778268) 2311069716.6666665 ns (± 65590138.42863499) 0.99

This comment was automatically generated by workflow using github-action-benchmark.

@Ulimo Ulimo merged commit 342d20b into main Jan 15, 2025
6 checks passed
@Ulimo Ulimo deleted the append_tree_fix branch January 15, 2025 19:23
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.

1 participant