@@ -8,13 +8,15 @@ states:
88 config.jvm.graalvm.version : 25.0.1-graalce
99
1010 config.quarkus.version : # 3.28.3
11- config.springboot.version : # 3.5.6
11+ config.springboot3.version : # 3.5.6
12+ config.springboot4.version : # 4.0.0
1213
1314 config.jvm.memory : # -Xmx128m
1415 config.jvm.args : # -XX:+UseNUMA
1516
1617 config.quarkus.native_build_options : # -Dquarkus.native.native-image-xmx=<maximum_memory>
17- config.springboot.native_build_options :
18+ config.springboot3.native_build_options :
19+ config.springboot4.native_build_options :
1820
1921 config.resources.cpu.app : 0-3
2022 config.resources.cpu.db : 4-6
@@ -39,7 +41,7 @@ states:
3941 PROFILER_JVM_ARGS :
4042 BASE_JAVA_CMD : ${{APP_CMD_PREFIX}} java ${{config.jvm.memory}} ${{config.jvm.args}} ${{PROFILER_JVM_ARGS}}
4143 TESTS : [test-build, measure-build-times, measure-time-to-first-request, measure-rss, run-load-test]
42- RUNTIMES : [quarkus3-jvm, quarkus3-native, spring3-jvm, spring3-jvm-aot, spring3-native]
44+ RUNTIMES : [quarkus3-jvm, quarkus3-native, spring3-jvm, spring3-jvm-aot, spring3-native, spring4-jvm, spring4-jvm-aot, spring4-native ]
4345 TARGET_URL : http://localhost:8080/fruits
4446 QUARKUS-PLATFORM-ARTIFACT-ID : quarkus-bom
4547 PROJ_REPO_NAME : spring-quarkus-perf-comparison
@@ -64,23 +66,44 @@ states:
6466 type : jvm
6567 dir : ${{SPRING3_BOOT_DIR}}
6668 updateScript : update-spring-boot-version
67- updateVersion : ${{config.springboot .version}}
69+ updateVersion : ${{config.springboot3 .version}}
6870 buildCmd : " ./mvnw clean package -DskipTests"
6971 runCmd : " ${{BASE_JAVA_CMD}} -jar ${{SPRING3_BOOT_DIR}}/target/springboot3.jar"
7072 - name : spring3-jvm-aot
7173 type : jvm
7274 dir : ${{SPRING3_BOOT_DIR}}
7375 updateScript : update-spring-boot-version
74- updateVersion : ${{config.springboot .version}}
76+ updateVersion : ${{config.springboot3 .version}}
7577 buildCmd : " ./mvnw clean compile spring-boot:process-aot package -DskipTests"
7678 runCmd : " ${{BASE_JAVA_CMD}} -Dspring.aot.enabled=true -jar ${{SPRING3_BOOT_DIR}}/target/springboot3.jar"
7779 - name : spring3-native
7880 type : native
7981 dir : ${{SPRING3_BOOT_DIR}}
8082 updateScript : update-spring-boot-version
81- updateVersion : ${{config.springboot .version}}
82- buildCmd : " ./mvnw clean -Pnative -DskipTests native:compile package ${{config.springboot .native_build_options}}"
83+ updateVersion : ${{config.springboot3 .version}}
84+ buildCmd : " ./mvnw clean -Pnative -DskipTests native:compile package ${{config.springboot3 .native_build_options}}"
8385 runCmd : " ${{APP_CMD_PREFIX}} ${{SPRING3_BOOT_DIR}}/target/springboot3 ${{config.jvm.memory}}"
86+ - name : spring4-jvm
87+ type : jvm
88+ dir : ${{SPRING4_BOOT_DIR}}
89+ updateScript : update-spring-boot-version
90+ updateVersion : ${{config.springboot4.version}}
91+ buildCmd : " ./mvnw clean package -DskipTests"
92+ runCmd : " ${{BASE_JAVA_CMD}} -jar ${{SPRING4_BOOT_DIR}}/target/springboot4.jar"
93+ - name : spring4-jvm-aot
94+ type : jvm
95+ dir : ${{SPRING4_BOOT_DIR}}
96+ updateScript : update-spring-boot-version
97+ updateVersion : ${{config.springboot4.version}}
98+ buildCmd : " ./mvnw clean compile spring-boot:process-aot package -DskipTests"
99+ runCmd : " ${{BASE_JAVA_CMD}} -Dspring.aot.enabled=true -jar ${{SPRING4_BOOT_DIR}}/target/springboot4.jar"
100+ - name : spring4-native
101+ type : native
102+ dir : ${{SPRING4_BOOT_DIR}}
103+ updateScript : update-spring-boot-version
104+ updateVersion : ${{config.springboot4.version}}
105+ buildCmd : " ./mvnw clean -Pnative -DskipTests native:compile package ${{config.springboot4.native_build_options}}"
106+ runCmd : " ${{APP_CMD_PREFIX}} ${{SPRING4_BOOT_DIR}}/target/springboot4 ${{config.jvm.memory}}"
84107
85108scripts :
86109 update-state :
@@ -90,8 +113,9 @@ scripts:
90113 - set-state : RUN.PROJ_REPO_DIR ${{REPO_DIR}}/${{PROJ_REPO_NAME}}
91114 - set-state : RUN.SCRIPTS_DIR ${{PROJ_REPO_DIR}}/scripts/perf-lab
92115 - set-state : RUN.HELPER_SCRIPTS_DIR ${{SCRIPTS_DIR}}/scripts
93- - set-state : RUN.SPRING3_BOOT_DIR ${{PROJ_REPO_DIR}}/springboot3
94- - set-state : RUN.QUARKUS3_DIR ${{PROJ_REPO_DIR}}/quarkus3
116+ - set-state : RUN.SPRING3_BOOT_DIR ${{REPO_DIR}}/${{PROJ_REPO_NAME}}/springboot3
117+ - set-state : RUN.SPRING4_BOOT_DIR ${{REPO_DIR}}/${{PROJ_REPO_NAME}}/springboot4
118+ - set-state : RUN.QUARKUS3_DIR ${{REPO_DIR}}/${{PROJ_REPO_NAME}}/quarkus3
95119 - set-state : RUN.ASYNC_PROFILER_DIR ${{BASE_DIR}}/${{ASYNC_PROFILER}}
96120
97121 output-vars :
@@ -102,6 +126,7 @@ scripts:
102126 "REPO_DIR: ${{REPO_DIR}}"
103127 "SCRIPTS_DIR: ${{SCRIPTS_DIR}}"
104128 "SPRING3_BOOT_DIR: ${{SPRING3_BOOT_DIR}}"
129+ "SPRING4_BOOT_DIR: ${{SPRING4_BOOT_DIR}}"
105130 "QUARKUS3_DIR : ${{QUARKUS3_DIR}}"
106131 "RUNTIMECMDS: ${{RUNTIMECMDS}}"
107132
0 commit comments