Skip to content

Commit 5e595c5

Browse files
committed
Speed up Entity by making it u64
1 parent 38f190e commit 5e595c5

File tree

2 files changed

+83
-100
lines changed

2 files changed

+83
-100
lines changed

crates/bevy_ecs/src/entity/map_entities.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,9 @@ impl<'m> EntityMapper<'m> {
6969
}
7070

7171
// this new entity reference is specifically designed to never represent any living entity
72-
let new = Entity {
73-
generation: self.dead_start.generation + self.generations,
74-
index: self.dead_start.index,
75-
};
72+
let generation = self.dead_start.generation() + self.generations;
73+
let index = self.dead_start.index();
74+
let new = Entity::from_raw_and_generation(index, generation);
7675
self.generations += 1;
7776

7877
self.map.insert(entity, new);
@@ -108,7 +107,7 @@ impl<'m> EntityMapper<'m> {
108107
// SAFETY: Entities data is kept in a valid state via `EntityMap::world_scope`
109108
let entities = unsafe { world.entities_mut() };
110109
assert!(entities.free(self.dead_start).is_some());
111-
assert!(entities.reserve_generations(self.dead_start.index, self.generations));
110+
assert!(entities.reserve_generations(self.dead_start.index(), self.generations));
112111
}
113112

114113
/// Creates an [`EntityMapper`] from a provided [`World`] and [`EntityHashMap<Entity, Entity>`], then calls the

0 commit comments

Comments
 (0)