Skip to content

dashaun/upgrade-and-use-buildpacks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Forks Stargazers Issues

OpenRewrite, AOT and CDS

The cheat code

./mvnw -U org.openrewrite.maven:rewrite-maven-plugin:run \
 -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-spring:LATEST \
 -DactiveRecipes=org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_3

The Spoiler

#### Comparison of memory usage and startup times

Configuration                       Startup Time (seconds)    (MB) Used       (MB) Savings
--------------------------------------------------------------------------------------------
Spring Boot 2.6 with Java 8         1.018                     340.6           -
Spring Boot 3.3 with Java 23        1.014 (1.00% faster)      239.3           30.00% 
Spring Boot 3.3 extracted           0.867 (15.00% faster)     210.6           39.00% 
Spring Boot 3.3 with AOT processing 0.765 (25.00% faster)     205.7           40.00% 
Spring Boot 3.3 with CDS            0.568 (45.00% faster)     208.2           39.00% 
Spring Boot 3.3 with AOT+CDS        0.383 (63.00% faster)     165.5           52.00% 
--------------------------------------------------------------------------------------------

Does that look too good to be true? Run the demo and see for yourself!

Prerequisites

  • SDKMan

    i.e. curl -s "https://get.sdkman.io" | bash

  • Httpie needs to be in the path

    i.e. brew install httpie

  • bc, pv, zip, unzip, gcc, zlib1g-dev

    i.e. sudo apt install bc, pv, zip, unzip, gcc, zlib1g-dev -y

  • Vendir

    i.e. brew tap carvel-dev/carvel && brew install vendir

Quick Start

./demo.sh

Attributions

References

Related Videos