1 Raw data generated by iklam on 2025/09/12 2 3 HOWTO: https://github.com/openjdk/leyden/blob/8df3504f55cabe9ff8a1d239f469b18d00ff802b/README.md#5-benchmarking 4 5 XPS Desktop 8960 (Nov 2024) Intel(R) Core(TM) i7-14700 @ 2.90GHz, 1TB SSD 6 Ubuntu 24.04.1 LTS 7 8 MAINLINE_JAVA: 9 10 $ /work/official/jdk25/bin/java --version 11 java 25 2025-09-16 LTS 12 Java(TM) SE Runtime Environment (build 25+37-LTS-3491) 13 Java HotSpot(TM) 64-Bit Server VM (build 25+37-LTS-3491, mixed mode, sharing) 14 15 PREMAIN_JAVA: 16 Build from https://github.com/openjdk/leyden/commit/8df3504f55cabe9ff8a1d239f469b18d00ff802b 17 18 =================================================================================================== 19 20 /work/le4/open/test/hotspot/jtreg/premain/helidon-quickstart-se$ make bench 21 rm -f *.cds *.cds.code *.classlist *.jsa *~ *.log *.log.* hs_err_* *.aot *.aotconf 22 rm -f mainline_vs_premain.csv 23 run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 24 1,261,124,81,78 25 2,248,123,78,65 26 3,235,119,77,67 27 4,239,163,82,66 28 5,238,130,80,65 29 6,240,121,81,66 30 7,238,122,83,63 31 8,236,123,83,64 32 9,230,126,79,67 33 10,239,124,82,67 34 Geomean,240.27,126.99,80.58,66.69 (3.52 improvement) 35 Stdev,8.09,12.16,1.96,3.94 36 Markdown snippets in mainline_vs_premain.md 37 38 /work/le4/open/test/hotspot/jtreg/premain/helidon-quickstart-se$ cat mainline_vs_premain.md 39 ```mermaid 40 --- 41 config: 42 xyChart: 43 chartOrientation: horizontal 44 height: 300 45 --- 46 xychart-beta 47 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 48 y-axis "Elapsed time (ms, smaller is better)" 0 --> 230.47 49 bar [230.47, 123.45, 76.34, 65.48] 50 ``` 51 52 -----------------Normalized--------------------------------------------- 53 ```mermaid 54 --- 55 config: 56 xyChart: 57 chartOrientation: horizontal 58 height: 300 59 --- 60 xychart-beta 61 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 62 y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 63 bar [1000, 536, 331, 284] 64 ``` 65 =============================================================================== 66 67 /work/le4/open/test/hotspot/jtreg/premain/javac_bench$ make bench 68 rm -f *.class *.jar 69 rm -f mainline_vs_premain.csv 70 run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 71 1,482,362,273,215 72 2,465,364,254,215 73 3,463,378,266,239 74 4,485,362,283,211 75 5,462,374,272,230 76 6,465,384,261,208 77 7,491,369,250,215 78 8,477,363,263,214 79 9,460,360,292,214 80 10,470,363,263,212 81 Geomean,471.89,367.82,267.43,217.12 (2.17x improvement) 82 Stdev,10.40,7.71,12.10,9.08 83 Markdown snippets in mainline_vs_premain.md 84 85 /work/le4/open/test/hotspot/jtreg/premain/javac_bench$ cat mainline_vs_premain.md 86 ```mermaid 87 --- 88 config: 89 xyChart: 90 chartOrientation: horizontal 91 height: 300 92 --- 93 xychart-beta 94 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 95 y-axis "Elapsed time (ms, smaller is better)" 0 --> 471.89 96 bar [471.89, 367.82, 267.43, 217.12] 97 ``` 98 99 -----------------Normalized--------------------------------------------- 100 ```mermaid 101 --- 102 config: 103 xyChart: 104 chartOrientation: horizontal 105 height: 300 106 --- 107 xychart-beta 108 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 109 y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 110 bar [1000, 779, 567, 460] 111 ``` 112 113 =================================================================================================== 114 115 /work/le4/open/test/hotspot/jtreg/premain/micronaut-first-app$ make bench 116 rm -f *.cds *.cds.code *.classlist *.jsa *~ *.log *.log.* hs_err_* *.aot *.aotconf 117 rm -f mainline_vs_premain.csv 118 run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 119 1,332,149,136,115 120 2,312,155,139,112 121 3,320,156,119,122 122 4,309,148,117,110 123 5,316,151,124,111 124 6,309,172,122,108 125 7,327,149,124,102 126 8,324,144,115,118 127 9,308,155,148,104 128 10,306,153,118,109 129 Geomean,316.18,153.04,125.79,110.95 (2.85x improvement) 130 Stdev,8.57,7.21,10.45,5.75 131 Markdown snippets in mainline_vs_premain.md 132 133 /work/le4/open/test/hotspot/jtreg/premain/micronaut-first-app$ cat mainline_vs_premain.md 134 ```mermaid 135 --- 136 config: 137 xyChart: 138 chartOrientation: horizontal 139 height: 300 140 --- 141 xychart-beta 142 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 143 y-axis "Elapsed time (ms, smaller is better)" 0 --> 316.18 144 bar [316.18, 153.04, 125.79, 110.95] 145 ``` 146 147 -----------------Normalized--------------------------------------------- 148 ```mermaid 149 --- 150 config: 151 xyChart: 152 chartOrientation: horizontal 153 height: 300 154 --- 155 xychart-beta 156 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 157 y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 158 bar [1000, 484, 398, 351] 159 ``` 160 161 ===================================================================================== 162 163 /work/le4/open/test/hotspot/jtreg/premain/quarkus-getting-started$ make bench 164 rm -f *.cds *.cds.code *.classlist *.jsa *~ *.log *.log.* hs_err_* *.aot *.aotconf 165 rm -f mainline_vs_premain.csv 166 run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 167 1,347,176,150,129 168 2,340,165,134,131 169 3,352,169,138,134 170 4,340,172,148,125 171 5,338,162,140,133 172 6,339,171,155,118 173 7,342,168,153,124 174 8,356,169,131,141 175 9,353,156,136,113 176 10,345,174,140,121 177 Geomean,345.15,168.10,142.28,126.65 (2.73x improvement) 178 Stdev,6.18,5.62,7.95,7.92 179 Markdown snippets in mainline_vs_premain.md 180 181 /work/le4/open/test/hotspot/jtreg/premain/quarkus-getting-started$ cat mainline_vs_premain.md 182 ```mermaid 183 --- 184 config: 185 xyChart: 186 chartOrientation: horizontal 187 height: 300 188 --- 189 xychart-beta 190 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 191 y-axis "Elapsed time (ms, smaller is better)" 0 --> 345.15 192 bar [345.15, 168.10, 142.28, 126.65] 193 ``` 194 195 -----------------Normalized--------------------------------------------- 196 ```mermaid 197 --- 198 config: 199 xyChart: 200 chartOrientation: horizontal 201 height: 300 202 --- 203 xychart-beta 204 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 205 y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 206 bar [1000, 487, 412, 367] 207 ``` 208 209 =============================================================================== 210 211 /work/le4/open/test/hotspot/jtreg/premain/spring-boot-getting-started$ make bench 212 rm -f *.cds *.cds.code *.classlist *.jsa *~ *.log *.log.* hs_err_* tmp.txt *.aot *.aotconf 213 rm -f mainline_vs_premain.csv 214 run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 215 1,498,249,160,127 216 2,490,240,164,125 217 3,492,247,163,121 218 4,491,247,167,127 219 5,494,242,161,124 220 6,495,243,163,128 221 7,487,248,176,123 222 8,487,243,162,123 223 9,491,243,169,124 224 10,508,244,161,124 225 Geomean,493.27,244.58,164.54,124.58 (3.96x improvement) 226 Stdev,5.87,2.80,4.63,2.06 227 Markdown snippets in mainline_vs_premain.md 228 229 /work/le4/open/test/hotspot/jtreg/premain/spring-boot-getting-started$ cat mainline_vs_premain.md 230 ```mermaid 231 --- 232 config: 233 xyChart: 234 chartOrientation: horizontal 235 height: 300 236 --- 237 xychart-beta 238 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 239 y-axis "Elapsed time (ms, smaller is better)" 0 --> 493.27 240 bar [493.27, 244.58, 164.54, 124.58] 241 ``` 242 243 -----------------Normalized--------------------------------------------- 244 ```mermaid 245 --- 246 config: 247 xyChart: 248 chartOrientation: horizontal 249 height: 300 250 --- 251 xychart-beta 252 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 253 y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 254 bar [1000, 496, 334, 253] 255 ``` 256 257 =================================================================================================== 258 259 /work/le4/open/test/hotspot/jtreg/premain/spring-petclinic$ make bench 260 rm -f spring-petclinic.* *.aot *.aotconf 261 rm -f mainline_vs_premain.csv 262 run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 263 1,2109,1216,1169,696 264 2,2132,1243,1153,707 265 3,2125,1253,1123,722 266 4,2426,1441,1420,711 267 5,2414,1460,1352,731 268 6,2585,1580,1453,790 269 7,2618,1555,1429,773 270 8,2550,1543,1490,763 271 9,2562,1559,1420,764 272 10,2544,1557,1350,747 273 Geomean,2398.24,1433.59,1329.35,739.79 (3.24x improvement) 274 Stdev,195.91,139.87,129.37,30.02 275 Markdown snippets in mainline_vs_premain.md 276 cat bench.sh >bench 277 chmod a+x bench 278 279 /work/le4/open/test/hotspot/jtreg/premain/spring-petclinic$ cat mainline_vs_premain.md 280 ```mermaid 281 --- 282 config: 283 xyChart: 284 chartOrientation: horizontal 285 height: 300 286 --- 287 xychart-beta 288 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 289 y-axis "Elapsed time (ms, smaller is better)" 0 --> 2398.24 290 bar [2398.24, 1433.59, 1329.35, 739.79] 291 ``` 292 293 -----------------Normalized--------------------------------------------- 294 ```mermaid 295 --- 296 config: 297 xyChart: 298 chartOrientation: horizontal 299 height: 300 300 --- 301 xychart-beta 302 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 303 y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 304 bar [1000, 598, 554, 308] 305 ```