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

Compilation Speedup (~2.3 seconds) - Reduces compilation overhead by disabling icon-cutter & DMTarget inputs/outputs #11594

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

PowerfulBacon
Copy link
Member

@PowerfulBacon PowerfulBacon commented Sep 28, 2024

About The Pull Request

  • Removes icon-cutter from the compilation step since we don't actually use it and it introduces A LOT of overhead.
  • Changes it so that DM will always compile. GLOBing every single code file in the codebase adds a small amount of overhead.
  • Executes DM step before TGUI step, which will probably save a zero amount of time.

People with faster CPUs (and ones with turboboost) will see less improvements than I am seeing since I have quite an old PC.

Why It's Good For The Game

Our compilation time is starting to get a bit ridiculous and there are some easy savings to be had by removing high-overhead systems from the build steps.

Testing Photographs and Procedure

All tests were done with the same programs opened and visual studio focused. (Unfocusing it increases compilation times by ~2x).

Overhead was measured by taking the total build time and subtracting the DM target build time from it.

Baseline

Test-Run Overhead (/s)
1 2.632
2 2.543
3 2.634

With Icon-Cutter Change Only

Test-Run Overhead (/s)
1 2.208
2 2.174

~0.4 seconds saved

With DM-Step Change Only

Test-Run Overhead (/s)
1 1.299
2 1.323
3 1.296

~1.3s saved

After

Test-Run Overhead (/s)
1 0.337
2 0.352
3 0.344

~2.3s saved

If you do the math there are 0.6s of savings unaccounted for, so I will chalk that down to re-ordering the DMtarget and the TGUI target.

Changelog

🆑
tweak: Improves compilation times by ~2.3 seconds by removing unnecessary build process overhead.
/:cl:

@PowerfulBacon PowerfulBacon marked this pull request as ready for review September 28, 2024 08:24
@github-actions github-actions bot added the Tools label Sep 28, 2024
@PowerfulBacon
Copy link
Member Author

Actually lets be honest, we are never going to actually use icon cutter so I'm just deleting it rather than commenting it out.

@PowerfulBacon PowerfulBacon changed the title Compilation Speedup (~2.5 seconds) - Reduces compilation overhead by disabling icon-cutter & DMTarget inputs/outputs Compilation Speedup (~2.6 seconds) - Reduces compilation overhead by disabling icon-cutter & DMTarget inputs/outputs Sep 28, 2024
@PowerfulBacon PowerfulBacon changed the title Compilation Speedup (~2.6 seconds) - Reduces compilation overhead by disabling icon-cutter & DMTarget inputs/outputs Compilation Speedup (~2.3 seconds) - Reduces compilation overhead by disabling icon-cutter & DMTarget inputs/outputs Sep 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant