Question about Project Leyden: why choose "static run-time images"?
Claes Redestad
claes.redestad at oracle.com
Mon May 23 09:36:34 UTC 2022
Hi,
I think there's some confusion here since earlier communication -
including the current leyden project page - is a bit outdated and
does not reflect recent change in direction.
To quote Mark[1]:
"So rather than adopt the closed-world constraint at the start, I
propose that we instead pursue a gradual, incremental approach.
[...]
We will lean heavily on existing components of the JDK including the
HotSpot JVM, the C2 compiler, application class-data sharing (CDS), and
the `jlink` linking tool.
In the long run we will likely embrace the full closed-world constraint
in order to produce fully-static images."
Best regards
Claes
[1] https://mail.openjdk.java.net/pipermail/leyden-dev/2022-May/000001.html
On 2022-05-23 10:49, Glavo wrote:
> Hello, everyone. I'm excited to see OpenJDK's quest to improve startup
> speed, but I have a confusion about Project Leyden.
>
> As far as I know, there are currently two efforts in the Java community to
> improve startup speed:
>
> * OpenJ9[1], Zing JVM[2] and Dragonwell[3] reduces JIT warm-up time by
> caching profiling data or JIT results.
> This approach greatly improves startup speed with little sacrifice in
> functionality and flexibility.
> * GraalVM native-image introduces the concept of "closed-world assumption",
> at the expense of
> flexibility and partial functionality, statically compiles Java code,
> reduces startup time and reduces size.
> Relatively speaking, it is more expensive, and we need to limit ourselves
> to use it better.
>
> When I got to know Project Leyden, it seems to me that its purpose and cost
> are very much the same as GraalVM native-image.
> So, why did Project Leyden choose this approach? Why not opt for a more
> general way like OpenJ9?
> What decisive advantage does it have over GraalVM native-image that make us
> need to start over?
>
> Thanks
>
> [1]: https://docs.azul.com/prime/Use-ReadyNow.html
> [2]: https://www.eclipse.org/openj9/docs/shrc/#aot-code-and-jit-data
> [3]:
> https://github.com/alibaba/dragonwell8/wiki/Alibaba-Dragonwell8-User-Guide#jwarmup
More information about the leyden-dev
mailing list