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

Revert string centralization #38321

Merged

Conversation

kevingranade
Copy link
Member

Summary

SUMMARY: None

Purpose of change

Build times have been growing recently, upon investigation the recent move to centralize strings in src/cata_string_consts.h has been determined to be the culprit.

Describe the solution

Reverts the string centralization commits back to ones where conflicts start piling up.

Describe alternatives you've considered

We could revert either more (with more work) or fewer commits (generating work for later).
This is the series of reverts that apply cleanly without breaking the build, reverting commits beyond these works but build errors start creeping in.
We could also revert these piecemeal, possibly with as few as one original commit per revert PR. I'm not sure where the right tradeoff there is, because while smaller PRs are obviously better, delaying the reverts and spreading them out over time raise more chances of conflicts.

Testing

Everything builds and tests cleanly.
Game launches normally with no error and basic interactivity is present.
Build times are greatly improved.

Additional context

These are the results of timing tests I've run on an EC2 c4.2xlarge host I usually build on.
585fbbe (was master HEAD at the time)
real 9m20.844s
user 68m22.061s
sys 2m48.345s

d1b2f33 (was master HEAD at the time, effectively a retest to check jitter)
real 9m20.233s
user 68m0.841s
sys 2m46.542s

After reverting commits up to most recent merge
real 8m47.588s
user 63m45.326s
sys 2m43.966s

Rebuild of revert up to most recent merge.
real 8m47.384s
user 63m37.103s
sys 2m44.131s

Before creation of file (checked out the tree before the first PR in the series)
real 7m36.129s
user 54m24.264s
sys 2m30.595s

After reverts in current PR
real 8m6.127s
user 58m31.233s
sys 2m28.755s

Rebuild
real 8m6.016s
user 58m30.913s
sys 2m29.635s

…ts_and_more"

This reverts commit 9c9835f, reversing
changes made to 07995cd.
…tring_consts"

This reverts commit 2bf1c1e, reversing
changes made to 24a32c0.
…-02-18"

This reverts commit 142295b, reversing
changes made to f98c67d.
…ts_more_flags"

This reverts commit 8ec8e78, reversing
changes made to 72ef022.
This reverts commit 0a6bf67.
This reverts commit 9286722, reversing
changes made to e9f1cd7.
…ts_game"

This reverts commit 9807657, reversing
changes made to 036465f.
@kevingranade kevingranade added Code: Build Issues regarding different builds and build environments [C++] Changes (can be) made in C++. Previously named `Code` labels Feb 25, 2020
@kevingranade kevingranade requested a review from a user February 25, 2020 04:16
@kevingranade
Copy link
Member Author

Side note, I've manually reviewed the whole PR and there's nothing here but swapping things back to literal strings and related changes. I HAD pulled in some extraneous stuff but that's all cleaned up now.

@ZhilkinSerg ZhilkinSerg merged commit 5fa9146 into CleverRaven:master Feb 25, 2020
@kevingranade kevingranade deleted the revert-string-centralization branch June 28, 2020 21:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C++] Changes (can be) made in C++. Previously named `Code` Code: Build Issues regarding different builds and build environments
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants