1 Raw data generated by iklam on Tue Sep 30 10:14:22 AM PDT 2025 2 3 HOWTO: https://github.com/openjdk/leyden/blob/ce150637130086ad2b47916d66148007f5331a28/README.md#5-benchmarking 4 5 + bash -c 'cat /proc/cpuinfo | egrep "(vendor_id)|(model name)" | head -2' 6 vendor_id : GenuineIntel 7 model name : Intel(R) Core(TM) i7-14700 8 + bash -c 'cat /proc/cpuinfo | egrep "(processor)" | tail -1' 9 processor : 27 10 + bash -c 'cat /proc/meminfo | head -1' 11 MemTotal: 63420144 kB 12 13 + cat /etc/lsb-release 14 DISTRIB_ID=Ubuntu 15 DISTRIB_RELEASE=24.04 16 DISTRIB_CODENAME=noble 17 DISTRIB_DESCRIPTION="Ubuntu 24.04.1 LTS" 18 19 + bash -c '$BLDJDK_HOME/bin/java --version' 20 java 24 2025-03-18 21 Java(TM) SE Runtime Environment (build 24+36-3646) 22 Java HotSpot(TM) 64-Bit Server VM (build 24+36-3646, mixed mode, sharing) 23 24 + bash -c '$MAINLINE_HOME/bin/java --version' 25 java 25 2025-09-16 LTS 26 Java(TM) SE Runtime Environment (build 25+37-LTS-3491) 27 Java HotSpot(TM) 64-Bit Server VM (build 25+37-LTS-3491, mixed mode, sharing) 28 29 + bash -c '$PREMAIN_HOME/bin/java --version' 30 java 26-internal 2026-03-17 31 Java(TM) SE Runtime Environment (build 26-internal-adhoc.iklam.le4) 32 Java HotSpot(TM) 64-Bit Server VM (build 26-internal-adhoc.iklam.le4, mixed mode, sharing) 33 PREMAIN_HOME: built from https://github.com/openjdk/leyden/commit/ce150637130086ad2b47916d66148007f5331a28 34 35 ------------------------------------------------------------ 36 + bash -c 'cd helidon-quickstart-se; make bench' 37 rm -f *.cds *.cds.code *.classlist *.jsa *~ *.log *.log.* hs_err_* *.aot *.aotconf 38 rm -f mainline_vs_premain.csv 39 run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 40 1,234,126,84,63 41 2,227,125,79,62 42 3,240,123,87,67 43 4,249,121,75,65 44 5,235,121,77,67 45 6,244,121,92,62 46 7,235,122,77,71 47 8,235,125,94,63 48 9,228,119,83,65 49 10,236,126,82,74 50 Geomean,236.22,122.88,82.78,65.80 (3.59x improvement) 51 Stdev,6.33,2.34,6.10,3.78 52 Markdown snippets in mainline_vs_premain.md 53 + bash -c 'cat helidon-quickstart-se/mainline_vs_premain.md' 54 ```mermaid 55 --- 56 config: 57 theme: "forest" 58 xyChart: 59 chartOrientation: horizontal 60 height: 300 61 --- 62 xychart-beta 63 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 64 y-axis "Elapsed time (ms, smaller is better)" 0 --> 236.22 65 bar [236.22, 122.88, 82.78, 65.80] 66 ``` 67 68 -----------------Normalized--------------------------------------------- 69 ```mermaid 70 --- 71 config: 72 theme: "forest" 73 xyChart: 74 chartOrientation: horizontal 75 height: 300 76 --- 77 xychart-beta 78 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 79 y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 80 bar [1000, 520, 350, 279] 81 ``` 82 83 ------------------------------------------------------------ 84 + bash -c 'cd javac_bench; make bench' 85 rm -f *.class *.jar tmp.txt 86 rm -f mainline_vs_premain.csv 87 run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 88 1,461,376,264,212 89 2,477,361,275,211 90 3,475,373,269,206 91 4,458,386,264,209 92 5,471,362,276,227 93 6,468,358,260,208 94 7,464,374,285,211 95 8,464,362,262,213 96 9,468,371,261,210 97 10,485,359,266,213 98 Geomean,469.04,368.10,268.09,211.93 (2.21x improvement) 99 Stdev,7.73,8.72,7.67,5.42 100 Markdown snippets in mainline_vs_premain.md 101 + bash -c 'cat javac_bench/mainline_vs_premain.md' 102 ```mermaid 103 --- 104 config: 105 theme: "forest" 106 xyChart: 107 chartOrientation: horizontal 108 height: 300 109 --- 110 xychart-beta 111 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 112 y-axis "Elapsed time (ms, smaller is better)" 0 --> 469.04 113 bar [469.04, 368.10, 268.09, 211.93] 114 ``` 115 116 -----------------Normalized--------------------------------------------- 117 ```mermaid 118 --- 119 config: 120 theme: "forest" 121 xyChart: 122 chartOrientation: horizontal 123 height: 300 124 --- 125 xychart-beta 126 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 127 y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 128 bar [1000, 785, 572, 452] 129 ``` 130 131 ------------------------------------------------------------ 132 + bash -c 'cd micronaut-first-app; make bench' 133 rm -f *.cds *.cds.code *.classlist *.jsa *~ *.log *.log.* hs_err_* *.aot *.aotconf 134 rm -f mainline_vs_premain.csv 135 run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 136 1,317,158,116,116 137 2,322,161,140,104 138 3,309,153,119,110 139 4,325,141,116,97 140 5,315,151,122,99 141 6,323,160,132,111 142 7,315,148,119,110 143 8,308,150,129,118 144 9,317,153,116,104 145 10,316,153,119,124 146 Geomean,316.66,152.69,122.57,109.00 (2.91x improvement) 147 Stdev,5.27,5.65,7.76,8.09 148 Markdown snippets in mainline_vs_premain.md 149 + bash -c 'cat micronaut-first-app/mainline_vs_premain.md' 150 ```mermaid 151 --- 152 config: 153 theme: "forest" 154 xyChart: 155 chartOrientation: horizontal 156 height: 300 157 --- 158 xychart-beta 159 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 160 y-axis "Elapsed time (ms, smaller is better)" 0 --> 316.66 161 bar [316.66, 152.69, 122.57, 109.00] 162 ``` 163 164 -----------------Normalized--------------------------------------------- 165 ```mermaid 166 --- 167 config: 168 theme: "forest" 169 xyChart: 170 chartOrientation: horizontal 171 height: 300 172 --- 173 xychart-beta 174 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 175 y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 176 bar [1000, 482, 387, 344] 177 ``` 178 179 ------------------------------------------------------------ 180 + bash -c 'cd quarkus-getting-started; make bench' 181 rm -f *.cds *.cds.code *.classlist *.jsa *~ *.log *.log.* hs_err_* *.aot *.aotconf 182 rm -f mainline_vs_premain.csv 183 run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 184 1,347,169,143,114 185 2,343,180,148,117 186 3,328,170,158,128 187 4,341,167,140,107 188 5,350,161,136,115 189 6,351,176,138,117 190 7,347,172,137,103 191 8,340,174,135,112 192 9,352,178,158,129 193 10,334,168,140,118 194 Geomean,343.22,171.41,143.08,115.75 (2.97x improvement) 195 Stdev,7.38,5.41,8.16,7.68 196 Markdown snippets in mainline_vs_premain.md 197 + bash -c 'cat quarkus-getting-started/mainline_vs_premain.md' 198 ```mermaid 199 --- 200 config: 201 theme: "forest" 202 xyChart: 203 chartOrientation: horizontal 204 height: 300 205 --- 206 xychart-beta 207 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 208 y-axis "Elapsed time (ms, smaller is better)" 0 --> 343.22 209 bar [343.22, 171.41, 143.08, 115.75] 210 ``` 211 212 -----------------Normalized--------------------------------------------- 213 ```mermaid 214 --- 215 config: 216 theme: "forest" 217 xyChart: 218 chartOrientation: horizontal 219 height: 300 220 --- 221 xychart-beta 222 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 223 y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 224 bar [1000, 499, 417, 337] 225 ``` 226 227 ------------------------------------------------------------ 228 + bash -c 'cd spring-boot-getting-started; make bench' 229 rm -f *.cds *.cds.code *.classlist *.jsa *~ *.log *.log.* hs_err_* tmp.txt *.aot *.aotconf 230 rm -f mainline_vs_premain.csv 231 run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 232 1,493,244,163,114 233 2,508,246,166,148 234 3,493,244,164,115 235 4,493,246,163,117 236 5,498,242,162,120 237 6,494,247,167,123 238 7,504,241,165,112 239 8,496,247,173,119 240 9,504,251,166,127 241 10,492,242,163,113 242 Geomean,497.47,244.98,165.17,120.41 (4.13x improvement) 243 Stdev,5.48,2.86,3.03,10.10 244 Markdown snippets in mainline_vs_premain.md 245 + bash -c 'cat spring-boot-getting-started/mainline_vs_premain.md' 246 ```mermaid 247 --- 248 config: 249 theme: "forest" 250 xyChart: 251 chartOrientation: horizontal 252 height: 300 253 --- 254 xychart-beta 255 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 256 y-axis "Elapsed time (ms, smaller is better)" 0 --> 497.47 257 bar [497.47, 244.98, 165.17, 120.41] 258 ``` 259 260 -----------------Normalized--------------------------------------------- 261 ```mermaid 262 --- 263 config: 264 theme: "forest" 265 xyChart: 266 chartOrientation: horizontal 267 height: 300 268 --- 269 xychart-beta 270 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 271 y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 272 bar [1000, 492, 332, 242] 273 ``` 274 275 ------------------------------------------------------------ 276 + bash -c 'cd spring-petclinic; make bench' 277 rm -f spring-petclinic.* *.aot *.aotconf 278 rm -f mainline_vs_premain.csv 279 run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 280 1,2102,1264,1165,678 281 2,2174,1237,1126,680 282 3,2139,1256,1140,679 283 4,2158,1428,1288,673 284 5,2320,1550,1358,684 285 6,2259,1470,1371,685 286 7,2415,1460,1336,671 287 8,2309,1452,1342,674 288 9,2346,1427,1348,677 289 10,2312,1418,1337,668 290 Geomean,2251.24,1392.48,1277.62,676.88 (3.33x improvement) 291 Stdev,98.54,100.60,92.63,5.19 292 Markdown snippets in mainline_vs_premain.md 293 + bash -c 'cat spring-petclinic/mainline_vs_premain.md' 294 ```mermaid 295 --- 296 config: 297 theme: "forest" 298 xyChart: 299 chartOrientation: horizontal 300 height: 300 301 --- 302 xychart-beta 303 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 304 y-axis "Elapsed time (ms, smaller is better)" 0 --> 2251.24 305 bar [2251.24, 1392.48, 1277.62, 676.88] 306 ``` 307 308 -----------------Normalized--------------------------------------------- 309 ```mermaid 310 --- 311 config: 312 theme: "forest" 313 xyChart: 314 chartOrientation: horizontal 315 height: 300 316 --- 317 xychart-beta 318 x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] 319 y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 320 bar [1000, 619, 568, 301] 321 ``` 322