-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Use EntityHashMap
for EntityMapper
#10415
Conversation
Breaking changes are generally fine.
I think that we should probably just use the
Looks good! |
Edit:
|
Failure was #10412: not your fault! |
Glad to hear it wasn't something I did! Could you please re-run the CI? |
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! LGTM. Need to fix the PR description before merging though.
I updated the description. Please tell me if the migration guide or changelog is not adequate. :) |
I don't think the CI will run unless I make another commit. Could someone with write privileges please manually re-run it? |
Re-running :) |
Darn, the CI is still failing. It appears that larger changes are going to need to occur in async_executor before things can get running again. @ Bluefinger suggested removing all references to smol-rs/async-executor#72 (comment) |
# Objective - There is a specialized hasher for entities: [`EntityHashMap`](https://docs.rs/bevy/latest/bevy/utils/type.EntityHashMap.html) - [`EntityMapper`] currently uses a normal `HashMap<Entity, Entity>` - Fixes bevyengine#10391 ## Solution - Replace the normal `HashMap` with the more performant `EntityHashMap` ## Questions - This does change public API. Should a system be implemented to help migrate code? - Perhaps an `impl From<HashMap<K, V, S>> for EntityHashMap<K, V>` - I updated to docs for each function that I changed, but I may have missed something --- ## Changelog - Changed `EntityMapper` to use `EntityHashMap` instead of normal `HashMap` ## Migration Guide If you are using the following types, update their listed methods to use the new `EntityHashMap`. `EntityHashMap` has the same methods as the normal `HashMap`, so you just need to replace the name. ### `EntityMapper` - `get_map` - `get_mut_map` - `new` - `world_scope` ### `ReflectMapEntities` - `map_all_entities` - `map_entities` - `write_to_world` ### `InstanceInfo` - `entity_map` - This is a property, not a method. --- This is my first time contributing in a while, and I'm not familiar with the usage of `EntityMapper`. I changed the type definition and fixed all errors, but there may have been things I've missed. Please keep an eye out for me!
Objective
EntityHashMap
EntityMapper
] currently uses a normalHashMap<Entity, Entity>
EntityHashMap
forEntityMap
#10391Solution
HashMap
with the more performantEntityHashMap
Questions
impl From<HashMap<K, V, S>> for EntityHashMap<K, V>
Changelog
EntityMapper
to useEntityHashMap
instead of normalHashMap
Migration Guide
If you are using the following types, update their listed methods to use the new
EntityHashMap
.EntityHashMap
has the same methods as the normalHashMap
, so you just need to replace the name.EntityMapper
get_map
get_mut_map
new
world_scope
ReflectMapEntities
map_all_entities
map_entities
write_to_world
InstanceInfo
entity_map
This is my first time contributing in a while, and I'm not familiar with the usage of
EntityMapper
. I changed the type definition and fixed all errors, but there may have been things I've missed. Please keep an eye out for me!