-
-
Notifications
You must be signed in to change notification settings - Fork 636
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
Add symlinked immutable Process inputs #13848
Conversation
d5fa12c
to
16d4cb4
Compare
bff632b
to
3a9593b
Compare
This should now be ready for review. The first six commits include work from @tdyas, and are probably easiest reviewed as one diff (since I went back and forth a few times and renamed the field), and the last commit is useful to look at independently. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just looked at the rust side of this.
321b2e5
to
fd9a9e5
Compare
[ci skip-build-wheels]
[ci skip-build-wheels]
[ci skip-build-wheels]
[ci skip-build-wheels]
# Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
… list of `immutable_inputs` paths. [ci skip-build-wheels]
[ci skip-build-wheels]
fd9a9e5
to
3763167
Compare
[ci skip-build-wheels]
3763167
to
342f5f0
Compare
…3862) As described in #13435, we expect large sandboxes for JVM compiles (for Scala in particular). #13848 added support for symlinking immutable inputs into sandboxes, and used it for tools. This change uses it for JVM classpaths as well. In a test repo, this reduces the total amount of time taken to create sandboxes for compilation by ~30% (from 14s to 10s), with an average sandbox creation time of 40ms (including amortized materialization of the symlink destinations). [ci skip-rust] [ci skip-build-wheels]
As designed by @tdyas in #12716, this change adds
immutable_inputs
toProcess
, and adapts the JVM@rules
to use them: for now, only for the tools themselves. A followup change will move all JVM classpath inputs toimmutable_inputs
.Nailgun support is now enabled by specifying the subset of the
immutable_inputs
which should be used to start the server: all others will be used to start the client.[ci skip-build-wheels]