What problem does this solve or what need does it fill?
Resources allocated to a World are currently never reclaimed (except Entity ID space`). This includes memory allocated in BlobVec / Column, empty archetypes, empty tables, etc. These unused resources may add extra work over time. Processes that scale with the number of archetypes, tables, or entities will grow slower as more varied gameplay situations are encountered.
What solution would you like?
Either a manual World::vacuum that uses exclusive access to reorder and collect unused memory and ID space, or some behind the scenes book-keeping that gradually collects unused resources.
What alternative(s) have you considered?
Letting the memory and ID space pile up persistently.
4762 is a very naive implementation for this that halts the entire app to collect unused memory, and is typically inefficient due to the potentially large reallocations done.
What problem does this solve or what need does it fill?
Resources allocated to a
World
are currently never reclaimed (exceptEntity
ID space`). This includes memory allocated in BlobVec / Column, empty archetypes, empty tables, etc. These unused resources may add extra work over time. Processes that scale with the number of archetypes, tables, or entities will grow slower as more varied gameplay situations are encountered.What solution would you like?
Either a manual
World::vacuum
that uses exclusive access to reorder and collect unused memory and ID space, or some behind the scenes book-keeping that gradually collects unused resources.What alternative(s) have you considered?
4762 is a very naive implementation for this that halts the entire app to collect unused memory, and is typically inefficient due to the potentially large reallocations done.