Experiment with only recompiling changed classes#65
Draft
Technici4n wants to merge 10 commits intomainfrom
Draft
Experiment with only recompiling changed classes#65Technici4n wants to merge 10 commits intomainfrom
Technici4n wants to merge 10 commits intomainfrom
Conversation
|
1dd2086 to
fa3d369
Compare
|
@Technici4n, this pull request has conflicts, please resolve them for this PR to move forward. |
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.
I have no idea if it's correct yet, but it's reasonably fast. Not as fast as I would have liked though.
With this PR, a change to the ATs takes about 20s to apply on my machine:
Edit: About 12s after some NIO tricks with the zip manipulations:
applyAdditionalTransforms, the second JST application.6s1s inselectSourcesToRecompile, which diffs the zips. This seems crazy slow. :/recompileModifiedSources, the recompilation of only the changed sources.2s0.5s ininjectModifiedClasses, merging the newly compiled classes with the old unchanged ones.To benchmark on your machine, just change the
test_at.cfgfile by (un)commenting one line, and then run again theExperimentsrun.It should be possible to optimize the running time even further?