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

Consider specializing to a BitSet in ComponentStore #1

Open
remexre opened this issue Apr 16, 2019 · 0 comments
Open

Consider specializing to a BitSet in ComponentStore #1

remexre opened this issue Apr 16, 2019 · 0 comments
Labels
C-ecstasy Component: Ecstasy (ECS Library) S-blocked-rust Status: Blocked on Rust Language Changes T-perf Type: Performance Improvement

Comments

@remexre
Copy link
Owner

remexre commented Apr 16, 2019

When a sufficiently large number of entities exist, it's thoroughly plausible that time savings would be had by storing sparse flag-like components in bitsets, since skipping the large number of zeroes would be cheap.

This might require specialization (but isn't easily doable there), or possibly negative trait bounds (to have a different FlagLike vs !FlagLike API).

@remexre remexre changed the title Consider using a BitSet instead of Options in UnsafeOptionVec Consider specializing to a BitSet in ComponentStore May 7, 2019
@remexre remexre added C-ecstasy Component: Ecstasy (ECS Library) T-perf Type: Performance Improvement S-blocked-rust Status: Blocked on Rust Language Changes labels May 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-ecstasy Component: Ecstasy (ECS Library) S-blocked-rust Status: Blocked on Rust Language Changes T-perf Type: Performance Improvement
Projects
None yet
Development

No branches or pull requests

1 participant