Skip to content
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

chore: collapse node4 to child and get rid of node 1 #55

Merged
merged 4 commits into from
Oct 14, 2024

Conversation

arriqaaq
Copy link
Contributor

@arriqaaq arriqaaq commented Oct 11, 2024

Description

As per the ART paper, when a Node4 has a single child should have its child collapsed into it. Currently this is not implemented, and rather a Node4 is collapsed into a Node1 which doesn't really help in compression. This PR implements delete as per the paper.

Some benchmark results

# main

seq_delete/vart         time:   [1.3538 µs 1.3743 µs 1.3913 µs]
                        thrpt:  [718.76 Kelem/s 727.64 Kelem/s 738.67 Kelem/s]

rand_delete/vart        time:   [2.4015 µs 2.4515 µs 2.5083 µs]
                        thrpt:  [398.68 Kelem/s 407.92 Kelem/s 416.40 Kelem/s]
# chore/collapse-node4-to-child

seq_delete/vart         time:   [1.1587 µs 1.1767 µs 1.1914 µs]
                        thrpt:  [839.36 Kelem/s 849.85 Kelem/s 863.07 Kelem/s]


rand_delete/vart        time:   [1.8899 µs 1.9467 µs 2.0162 µs]
                        thrpt:  [495.99 Kelem/s 513.70 Kelem/s 529.12 Kelem/s]

@arriqaaq arriqaaq force-pushed the chore/collapse-node4-to-child branch from 9a6ec33 to 36656b1 Compare October 11, 2024 11:23
@arriqaaq arriqaaq marked this pull request as ready for review October 11, 2024 11:53
@arriqaaq arriqaaq requested a review from gsserge October 11, 2024 11:54
@arriqaaq arriqaaq force-pushed the chore/collapse-node4-to-child branch from 5180da1 to f860bc3 Compare October 14, 2024 10:22
@arriqaaq arriqaaq merged commit 6410c3e into main Oct 14, 2024
1 check passed
@arriqaaq arriqaaq deleted the chore/collapse-node4-to-child branch October 14, 2024 10:26
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