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