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.60x 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 --> 240.27
49 bar [240.27, 126.99, 80.58, 66.69]
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, 529, 335, 278]
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 ```