add cache to optimize pragma processing#31
Merged
seilc merged 1 commit intobfbbdecomp:masterfrom Oct 29, 2020
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Made it so the pragma script creates a
.pragmacache folder where it saves the results of the assembly scraping as a key/value pair based on the function being imported for fast lookup.Making changes to large files now doesn't take any more time than a tiny file. It's practically instant.
Running
time python tools/inlineasm/globalasm.py -s src/Game/zEntPlayer.cp:Without cache:
With cache:
Running
makeon the entire project from scratch takes about 2 minutes, and then cleaning and runningmakeagain with the pragma cache saves about 16 seconds of build time for me.