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

[WIP] Improve the performance of roaring bitmap under sparse cases #364

Closed
wants to merge 1 commit into from

Conversation

stdpain
Copy link
Contributor

@stdpain stdpain commented May 31, 2022

for #319

@johnmay
Copy link

johnmay commented Jun 18, 2022

Looks good, I do this on a local implementation but with 4 values ands the type indicating the cardinality. I only need contains/insert so much simpler. Was poking around to see if anyone had the same idea.

I guess the restriction to 3 values to keep the format the same/reused the array container intersections/union etc? More work but I imagine someone would come along and squeeze out that extra value out eventually. API also gets uglier, e.g.:

bool array_bitset_container_intersect(const array_container_t *src_1,
                                                                 const bitset_container_t *src_2);

bool array_bitset_container_intersect(const uint16_t *src_1,
                                                                 const uint16_t *src_2,
                                                                 const uint16_t size_1,
                                                                 const uint16_t size_2);

@lemire
Copy link
Member

lemire commented Aug 20, 2022

This PR needs to be updated to be considered as some of our internal code changed. The updates appear small. Adding a new container type is a significant burden and it needs to be justify thoroughly. It adds significant complexity and it may lead to bugs. It should be thoroughly tested.

cc @Oppen

@stdpain stdpain closed this May 22, 2023
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.

3 participants