-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Use u64 for change ticks #15683
Copy link
Copy link
Open
Labels
A-ECSEntities, components, systems, and eventsEntities, components, systems, and eventsC-FeatureA new feature, making something new possibleA new feature, making something new possibleC-PerformanceA change motivated by improving speed, memory usage or compile timesA change motivated by improving speed, memory usage or compile timesD-ModestA "normal" level of difficulty; suitable for simple features or challenging fixesA "normal" level of difficulty; suitable for simple features or challenging fixesS-Adopt-MeThe original PR author has no intent to complete this work. Pick me up!The original PR author has no intent to complete this work. Pick me up!S-BlockedThis cannot move forward until something else changesThis cannot move forward until something else changesS-Needs-BenchmarkingThis set of changes needs performance benchmarking to double-check that they helpThis set of changes needs performance benchmarking to double-check that they help
Metadata
Metadata
Assignees
Labels
A-ECSEntities, components, systems, and eventsEntities, components, systems, and eventsC-FeatureA new feature, making something new possibleA new feature, making something new possibleC-PerformanceA change motivated by improving speed, memory usage or compile timesA change motivated by improving speed, memory usage or compile timesD-ModestA "normal" level of difficulty; suitable for simple features or challenging fixesA "normal" level of difficulty; suitable for simple features or challenging fixesS-Adopt-MeThe original PR author has no intent to complete this work. Pick me up!The original PR author has no intent to complete this work. Pick me up!S-BlockedThis cannot move forward until something else changesThis cannot move forward until something else changesS-Needs-BenchmarkingThis set of changes needs performance benchmarking to double-check that they helpThis set of changes needs performance benchmarking to double-check that they help
Type
Fields
Give feedbackNo fields configured for issues without a type.
Note
Tracking issue for closed 2022 PR #6327 (alternate approach: #6651)
Original author:
zakarumychWhat problem does this solve or what need does it fill?
Avoids the complexity (and runtime perf overhead) of our current looping u32 implementation, at the cost of higher memory usage.
Implementation blocked on configurable change detection.
What solution would you like?
Replace
u32withu64for tick values. Maintenance code to guard against overflow should be removed.Downside - requires
AtomicU64.A workaround should be implemented for when
AtomicU64is not available on target platform.What alternative(s) have you considered?
See #6651 for context.