bevy/crates
Christian Hughes a0c722ff4c
Reduce memory usage in component fetches and change detection filters (#15283)
## Objective

- Adopted #6396

## Solution

Same as #6396, we use a compile-time checked `StorageSwitch` union type
to select the fetch data based on the component's storage type, saving
>= 8 bytes per component fetch in a given query.

Note: We forego the Query iteration change as it exists in a slightly
different form now on main.

## Testing

- All current tests pass locally.

---------

Co-authored-by: james7132 <contact@jamessliu.com>
Co-authored-by: Chris Russell <8494645+chescock@users.noreply.github.com>
2024-09-27 14:06:40 +00:00
..
bevy_a11y Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_animation Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_app Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_asset Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_audio Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_color Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_core Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_core_pipeline Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_derive Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_dev_tools Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_diagnostic Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_dylib Generate links to definition in source code pages on docs.rs and dev-docs.bevyengine.org (#12965) 2024-07-29 23:10:16 +00:00
bevy_ecs Reduce memory usage in component fetches and change detection filters (#15283) 2024-09-27 14:06:40 +00:00
bevy_encase_derive Update `glam to 0.29, encase` to 0.10. (#15249) 2024-09-23 19:44:02 +00:00
bevy_gilrs Simpler lint fixes: makes ci lints work but disables a lint for now (#15376) 2024-09-24 11:42:59 +00:00
bevy_gizmos Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_gltf Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_hierarchy Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_input Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_internal Initial implementation of the Bevy Remote Protocol (Adopted) (#14880) 2024-09-23 18:36:16 +00:00
bevy_log Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_macro_utils Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_math Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_mikktspace Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_pbr Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_picking Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_ptr Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_reflect Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_remote Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_render Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_scene Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_sprite Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_state Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_tasks Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_text Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_time Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_transform Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_ui Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_utils Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_window Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
bevy_winit Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00