Improve performance of Character::update_bodytemp #50735
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
None
Purpose of change
Character::update_bodytemp
always shows up decently high when I profile. Make it faster.Thanks to BN for pointing these out: cataclysmbnteam/Cataclysm-BN#774
Describe the solution
Profile, apply fixes, profile more. Fixes are described in each commit.
Describe alternatives you've considered
Instead of both stashing the armor per BP and changing the various functions to give info for all body parts, doing only one.
Just armor optimization:
4f63583
Just bp optimization:
Testing
Heat radiation:
Both armor and bp:
Fixing the check for
CLIMATE_CONTROL
:Not checking for fire armor if no blisters:
Additional context
I was going to include an EOC perf improvement here too, but it's more complicated, and leaving it out probably makes it slightly easier for the BN people to grab this.