spring-projects / spring-framework

Spring Framework
https://spring.io/projects/spring-framework
Apache License 2.0
56.21k stars 37.97k forks source link

Investigate alignment with Project Leyden #31499

Open sdeleuze opened 10 months ago

sdeleuze commented 10 months ago

Closely related to the "Spring AOT and Project Leyden" section of the "Runtime efficiency with Spring" blog post, we should explore how combining AppCDS support (see #31497) with a first class support of Spring AOT on the JVM (see #31501) can allow a synergy with Project Leyden premain optimizations (CDS + AOT on steroids for the JVM) upcoming developments and how Spring developers can take advantage of it.

sdeleuze commented 8 months ago

I have updated https://github.com/sdeleuze/spring-boot-leyden-demo to leverage the new Leyden 1 step workflow that is much simpler to use than the previous 5 steps workflow. I think not all optimizations are enabled yet, but the data points seems promising. Notice I have for now only measured the startup time improvements, not yet the warmup time improvements.

image

The -XX:CacheDataStore option is intended to be a replacement for the existing -XX:SharedArchiveFile option

In practice, this is indeed a drop in replacement for Class Data Sharing which can take advantage of Spring Framework CDS support. If I am not mistaken, the meaning of CDS will evolve from Class Data Sharing to Cache Data Store and provide improved performances and extended scope (warmup improvement in addition to startup time ones).

sdeleuze commented 8 months ago

See #32044 related documentation issue.

sdeleuze commented 7 months ago

Spring team feedback sent to the leyden-dev mailing list about: