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

Vectorized Bitsets #137

Merged
merged 8 commits into from
Sep 17, 2023
Merged

Vectorized Bitsets #137

merged 8 commits into from
Sep 17, 2023

Conversation

genaray
Copy link
Owner

@genaray genaray commented Sep 15, 2023

Realistically, many projects have a large number of components that are used. Up to 100, 200 or even more depending on the scale.

So far, such a high number of components in the Bitset has caused problems. These simply checked the bits with a scalar loop. For a few used components this is fast, but for many it is quite slow and noticeable.

Therefore this PR integrates vectorized BitSet methods to process a high number of used components faster. This is triggered only at a certain number, if the number of registered components exceeds this, the methods are executed vectorized. If they fall under it, the execution remains scalar. Since vectorization comes along with an overhead for few elements, the best of both sides is combined.

@genaray genaray added the enhancement New feature or request label Sep 15, 2023
@genaray genaray self-assigned this Sep 15, 2023
…index in use to avoid unnecessary calculations each all, any, none, exclusive calls.
@genaray genaray marked this pull request as ready for review September 15, 2023 01:41
@genaray genaray merged commit b04da77 into master Sep 17, 2023
2 checks passed
@genaray genaray deleted the feature/vectorized_bitset branch September 17, 2023 15:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant