-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Use ThinColumn
in ComponentSparseSet
#18245
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
Conversation
still some issues to fix, indices are oob sometimes
ThinColumn
in ComponentSparseSet
tests pass!
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't a full review yet, but I'm generally in favor this change :)
Co-authored-by: SpecificProtagonist <[email protected]>
Co-authored-by: SpecificProtagonist <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice.
394f0cc
to
ba457db
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Just left a few nits.
- Should we rename
ThinColumn
toColumn
now that there's no overlap?
Renaming it in a follow-up PR sounds good to me!
Co-authored-by: Chris Russell <[email protected]>
I have no objections to this in theory, but this 100% needs benchmarking to check for unexpected performance regressions. |
2a1b5df
to
6fe6a7f
Compare
Still down to merge @james7132 ! I don't mind if you'd rather use your own impl though. I'll fix conflicts this afternoon |
I wasn't able to get consistent benchmarks last time I checked but that might have just been my setup being weird |
I think we should go with #20527 then, since it lets us completely remove |
Objective
The
Column
/ThinColumn
split is a significant amount of code duplication and makes optimizations to either harder to maintain.Solution
Migrate
ComponentSparseSet
to useThinColumn
rather thanColumn
. This requires some extra bookkeeping but it's overall not too bad.Only downside:
ComponentSparseSet
is no longerDebug
.Should we rename
ThinColumn
toColumn
now that there's no overlap?Testing
bevy_ecs
tests pass