Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - Don't allocate for ComponentDescriptors of non-dynamic component types #4725

Closed
wants to merge 4 commits into from

Conversation

james7132
Copy link
Member

@james7132 james7132 commented May 11, 2022

Objective

Don't allocate memory for Component types known at compile-time. Save a bit of memory.

Solution

Change ComponentDescriptor::name from String to Cow<'static, str> to use the &'static str returned by std::any::type_name.

@james7132 james7132 added A-ECS Entities, components, systems, and events labels May 11, 2022
@james7132 james7132 changed the title Don't allocate for non-dynamic component types Don't allocate for ComponentInfos of non-dynamic component types May 11, 2022
@james7132 james7132 changed the title Don't allocate for ComponentInfos of non-dynamic component types Don't allocate for ComponentDescriptors of non-dynamic component types May 11, 2022
@alice-i-cecile alice-i-cecile added the C-Performance A change motivated by improving speed, memory usage or compile times label May 12, 2022
@james7132 james7132 added the S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it label May 30, 2022
@cart
Copy link
Member

cart commented May 30, 2022

bors r+

bors bot pushed a commit that referenced this pull request May 30, 2022
#4725)

# Objective
Don't allocate memory for Component types known at compile-time. Save a bit of memory.

## Solution
Change `ComponentDescriptor::name` from `String` to `Cow<'static, str>` to use the `&'static str` returned by `std::any::type_name`.
@bors bors bot changed the title Don't allocate for ComponentDescriptors of non-dynamic component types [Merged by Bors] - Don't allocate for ComponentDescriptors of non-dynamic component types May 30, 2022
@bors bors bot closed this May 30, 2022
james7132 added a commit to james7132/bevy that referenced this pull request Jun 7, 2022
bevyengine#4725)

# Objective
Don't allocate memory for Component types known at compile-time. Save a bit of memory.

## Solution
Change `ComponentDescriptor::name` from `String` to `Cow<'static, str>` to use the `&'static str` returned by `std::any::type_name`.
@james7132 james7132 deleted the cow-component-name branch June 22, 2022 08:21
ItsDoot pushed a commit to ItsDoot/bevy that referenced this pull request Feb 1, 2023
bevyengine#4725)

# Objective
Don't allocate memory for Component types known at compile-time. Save a bit of memory.

## Solution
Change `ComponentDescriptor::name` from `String` to `Cow<'static, str>` to use the `&'static str` returned by `std::any::type_name`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-ECS Entities, components, systems, and events C-Performance A change motivated by improving speed, memory usage or compile times S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants