You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From the maintainer Li Haoyi: I'm putting a 1500USD bounty on this issue, payable by bank transfer on a merged PR implementing this.
Mill's client is currently a Java/JVM application. This means it suffers from the normal JVM slow startup (>100ms) and warmup times, and it prevents us from moving more logic into the client otherwise it will become even slower.
We should explore using GraalVM to generate cross-platform native image launchers for the Mill client, and integrate that into our ./mill script. This will allow us to make the client smarter:
Using Scala rather than Java
Parsing command line arguments in the client, which would remove the -i must be passed as first argument restriction
For this bounty, the success criteria of this issue is twofold:
An example in the Mill documentation of the recommended way to use Graal native image to compile a native binary from a JavaModule, ScalaModule, or KotlinModule
Have a Mill generate a native image version of the runner.client jar on different operating systems and CPU architectures (linux,mac,windows X arm,intel) that is able to replace the current JVM client launcher to launch and manage the Mill backend server process, using the same Java code that runner.client is implemented with today.
From the maintainer Li Haoyi: I'm putting a 1500USD bounty on this issue, payable by bank transfer on a merged PR implementing this.
Mill's client is currently a Java/JVM application. This means it suffers from the normal JVM slow startup (>100ms) and warmup times, and it prevents us from moving more logic into the client otherwise it will become even slower.
We should explore using GraalVM to generate cross-platform native image launchers for the Mill client, and integrate that into our
./millscript. This will allow us to make the client smarter:-i must be passed as first argumentrestrictionFor this bounty, the success criteria of this issue is twofold:
An example in the Mill documentation of the recommended way to use Graal native image to compile a native binary from a
JavaModule,ScalaModule, orKotlinModuleHave a Mill generate a native image version of the
runner.clientjar on different operating systems and CPU architectures (linux,mac,windows X arm,intel) that is able to replace the current JVM client launcher to launch and manage the Mill backend server process, using the same Java code thatrunner.clientis implemented with today.Reference https://blogs.oracle.com/developers/post/building-cross-platform-native-images-with-graalvm