1 Raw data generated by iklam on Tue Sep 30 10:51:44 AM PDT 2025 2 3 HOWTO: https://github.com/openjdk/leyden/blob/8a1fc0c9f8a6825540ee40c951eed5bf4ee74b7e/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/8a1fc0c9f8a6825540ee40c951eed5bf4ee74b7e 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,310,206,157,66 41 2,325,185,142,75 42 3,301,171,153,87 43 4,307,191,143,75 44 5,323,169,123,70 45 6,342,159,135,75 46 7,358,204,142,81 47 8,299,193,156,75 48 9,298,197,147,83 49 10,281,166,145,79 50 Geomean,313.66,183.41,143.96,76.38 (4.11x improvement) 51 Stdev,21.74,15.90,9.66,5.83 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 --> 313.66 65 bar [313.66, 183.41, 143.96, 76.38] 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, 585, 459, 244] 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,725,615,488,235 89 2,765,656,471,260 90 3,791,657,497,237 91 4,804,621,569,255 92 5,733,646,504,243 93 6,783,687,502,249 94 7,790,648,493,239 95 8,805,643,583,244 96 9,785,702,597,240 97 10,749,661,517,233 98 Geomean,772.52,653.12,520.48,243.36 (3.17x improvement) 99 Stdev,27.18,25.07,41.87,8.32 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 --> 772.52 113 bar [772.52, 653.12, 520.48, 243.36] 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, 845, 674, 315] 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,412,171,162,83 137 2,415,183,157,93 138 3,436,188,165,87 139 4,456,202,137,87 140 5,435,190,145,91 141 6,455,202,122,90 142 7,411,201,164,83 143 8,439,192,164,87 144 9,415,174,159,88 145 10,437,189,159,90 146 Geomean,430.80,188.91,152.75,87.85 (4.90x improvement) 147 Stdev,16.17,10.38,13.54,3.08 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 --> 430.80 161 bar [430.80, 188.91, 152.75, 87.85] 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, 439, 355, 204] 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,377,196,207,102 185 2,392,232,197,106 186 3,394,207,183,107 187 4,408,218,191,104 188 5,399,193,199,104 189 6,402,187,203,101 190 7,405,207,195,109 191 8,402,196,196,113 192 9,394,203,190,109 193 10,396,197,205,108 194 Geomean,396.81,203.22,196.47,106.24 (3.74x improvement) 195 Stdev,8.26,12.59,6.99,3.47 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 --> 396.81 209 bar [396.81, 203.22, 196.47, 106.24] 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, 512, 495, 268] 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,644,429,387,161 233 2,684,411,347,134 234 3,693,408,347,138 235 4,673,416,359,165 236 5,740,421,320,138 237 6,667,389,318,144 238 7,665,417,394,136 239 8,683,389,346,140 240 9,702,434,338,152 241 10,598,378,343,130 242 Geomean,673.96,408.82,349.13,143.38 (4.70x improvement) 243 Stdev,35.33,17.46,23.53,11.14 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 --> 673.96 257 bar [673.96, 408.82, 349.13, 143.38] 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, 607, 518, 213] 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,2824,1863,1691,909 281 2,2796,1810,1674,911 282 3,2915,1782,1670,928 283 4,2834,1824,1552,932 284 5,2907,1795,1593,939 285 6,2822,1788,1606,1012 286 7,2748,1782,1625,964 287 8,2903,1781,1547,931 288 9,2852,1722,1712,913 289 10,2833,1831,1599,946 290 Geomean,2842.96,1797.44,1625.98,938.05 (3.03x improvement) 291 Stdev,50.18,35.80,54.58,29.32 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 --> 2842.96 305 bar [2842.96, 1797.44, 1625.98, 938.05] 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, 632, 572, 330] 321 ``` 322