-
Notifications
You must be signed in to change notification settings - Fork 600
Open
Description
Currently, our entity IDs are a single int. This is fine, it's not done anything wrong, but for future work involving optimizing how the ECS stores our entity data we need to migrate it to a generational scheme (two ints.)
This is going to be a relatively long migration, and it involves:
- Obsoleting all APIs that leak the underlying EntityUid integer.
- Changing the written format of entityuid from
1234to1234v1234. - Changing entity metadata to include the generation while allowing backing storage to continue using integer IDs.
The immediate improvement is that entity IDs can be given a freelist, reducing the range of entity ids so that they stay in the 100ks. This improvement can then be used to improve random access times for specific common components (like metadata).
Blocked on
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels