Skip to content

Use u64 for change ticks #15683

@bas-ie

Description

@bas-ie

Note

Tracking issue for closed 2022 PR #6327 (alternate approach: #6651)
Original author: zakarumych

What 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 u32 with u64 for tick values. Maintenance code to guard against overflow should be removed.

Downside - requires AtomicU64.
A workaround should be implemented for when AtomicU64 is not available on target platform.

What alternative(s) have you considered?

See #6651 for context.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-ECSEntities, components, systems, and eventsC-FeatureA new feature, making something new possibleC-PerformanceA change motivated by improving speed, memory usage or compile timesD-ModestA "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!S-BlockedThis cannot move forward until something else changesS-Needs-BenchmarkingThis set of changes needs performance benchmarking to double-check that they help

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions