Skip to content

Experiment with only recompiling changed classes#65

Draft
Technici4n wants to merge 10 commits intomainfrom
partial-recompile
Draft

Experiment with only recompiling changed classes#65
Technici4n wants to merge 10 commits intomainfrom
partial-recompile

Conversation

@Technici4n
Copy link
Copy Markdown
Member

@Technici4n Technici4n commented May 15, 2025

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:

  • 6s in applyAdditionalTransforms, the second JST application.
  • 6s 1s in selectSourcesToRecompile, which diffs the zips. This seems crazy slow. :/
  • 4.5s in recompileModifiedSources, the recompilation of only the changed sources.
  • 2s 0.5s in injectModifiedClasses, merging the newly compiled classes with the old unchanged ones.

To benchmark on your machine, just change the test_at.cfg file by (un)commenting one line, and then run again the Experiments run.

It should be possible to optimize the running time even further?

@neoforged-pr-publishing
Copy link
Copy Markdown

  • Publish PR to GitHub Packages

@neoforged-automation neoforged-automation bot added the needs rebase This Pull Request needs to be rebased before being merged label Oct 10, 2025
@neoforged-automation
Copy link
Copy Markdown

@Technici4n, this pull request has conflicts, please resolve them for this PR to move forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs rebase This Pull Request needs to be rebased before being merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant