Raw data generated by iklam on Tue Sep 30 10:51:44 AM PDT 2025 HOWTO: https://github.com/openjdk/leyden/blob/8a1fc0c9f8a6825540ee40c951eed5bf4ee74b7e/README.md#5-benchmarking + bash -c 'cat /proc/cpuinfo | egrep "(vendor_id)|(model name)" | head -2' vendor_id : GenuineIntel model name : Intel(R) Core(TM) i7-14700 + bash -c 'cat /proc/cpuinfo | egrep "(processor)" | tail -1' processor : 27 + bash -c 'cat /proc/meminfo | head -1' MemTotal: 63420144 kB + cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=24.04 DISTRIB_CODENAME=noble DISTRIB_DESCRIPTION="Ubuntu 24.04.1 LTS" + bash -c '$BLDJDK_HOME/bin/java --version' java 24 2025-03-18 Java(TM) SE Runtime Environment (build 24+36-3646) Java HotSpot(TM) 64-Bit Server VM (build 24+36-3646, mixed mode, sharing) + bash -c '$MAINLINE_HOME/bin/java --version' java 25 2025-09-16 LTS Java(TM) SE Runtime Environment (build 25+37-LTS-3491) Java HotSpot(TM) 64-Bit Server VM (build 25+37-LTS-3491, mixed mode, sharing) + bash -c '$PREMAIN_HOME/bin/java --version' java 26-internal 2026-03-17 Java(TM) SE Runtime Environment (build 26-internal-adhoc.iklam.le4) Java HotSpot(TM) 64-Bit Server VM (build 26-internal-adhoc.iklam.le4, mixed mode, sharing) PREMAIN_HOME: built from https://github.com/openjdk/leyden/commit/8a1fc0c9f8a6825540ee40c951eed5bf4ee74b7e ------------------------------------------------------------ + bash -c 'cd helidon-quickstart-se; make bench' rm -f *.cds *.cds.code *.classlist *.jsa *~ *.log *.log.* hs_err_* *.aot *.aotconf rm -f mainline_vs_premain.csv run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 1,310,206,157,66 2,325,185,142,75 3,301,171,153,87 4,307,191,143,75 5,323,169,123,70 6,342,159,135,75 7,358,204,142,81 8,299,193,156,75 9,298,197,147,83 10,281,166,145,79 Geomean,313.66,183.41,143.96,76.38 (4.11x improvement) Stdev,21.74,15.90,9.66,5.83 Markdown snippets in mainline_vs_premain.md + bash -c 'cat helidon-quickstart-se/mainline_vs_premain.md' ```mermaid --- config: theme: "forest" xyChart: chartOrientation: horizontal height: 300 --- xychart-beta x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] y-axis "Elapsed time (ms, smaller is better)" 0 --> 313.66 bar [313.66, 183.41, 143.96, 76.38] ``` -----------------Normalized--------------------------------------------- ```mermaid --- config: theme: "forest" xyChart: chartOrientation: horizontal height: 300 --- xychart-beta x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 bar [1000, 585, 459, 244] ``` ------------------------------------------------------------ + bash -c 'cd javac_bench; make bench' rm -f *.class *.jar tmp.txt rm -f mainline_vs_premain.csv run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 1,725,615,488,235 2,765,656,471,260 3,791,657,497,237 4,804,621,569,255 5,733,646,504,243 6,783,687,502,249 7,790,648,493,239 8,805,643,583,244 9,785,702,597,240 10,749,661,517,233 Geomean,772.52,653.12,520.48,243.36 (3.17x improvement) Stdev,27.18,25.07,41.87,8.32 Markdown snippets in mainline_vs_premain.md + bash -c 'cat javac_bench/mainline_vs_premain.md' ```mermaid --- config: theme: "forest" xyChart: chartOrientation: horizontal height: 300 --- xychart-beta x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] y-axis "Elapsed time (ms, smaller is better)" 0 --> 772.52 bar [772.52, 653.12, 520.48, 243.36] ``` -----------------Normalized--------------------------------------------- ```mermaid --- config: theme: "forest" xyChart: chartOrientation: horizontal height: 300 --- xychart-beta x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 bar [1000, 845, 674, 315] ``` ------------------------------------------------------------ + bash -c 'cd micronaut-first-app; make bench' rm -f *.cds *.cds.code *.classlist *.jsa *~ *.log *.log.* hs_err_* *.aot *.aotconf rm -f mainline_vs_premain.csv run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 1,412,171,162,83 2,415,183,157,93 3,436,188,165,87 4,456,202,137,87 5,435,190,145,91 6,455,202,122,90 7,411,201,164,83 8,439,192,164,87 9,415,174,159,88 10,437,189,159,90 Geomean,430.80,188.91,152.75,87.85 (4.90x improvement) Stdev,16.17,10.38,13.54,3.08 Markdown snippets in mainline_vs_premain.md + bash -c 'cat micronaut-first-app/mainline_vs_premain.md' ```mermaid --- config: theme: "forest" xyChart: chartOrientation: horizontal height: 300 --- xychart-beta x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] y-axis "Elapsed time (ms, smaller is better)" 0 --> 430.80 bar [430.80, 188.91, 152.75, 87.85] ``` -----------------Normalized--------------------------------------------- ```mermaid --- config: theme: "forest" xyChart: chartOrientation: horizontal height: 300 --- xychart-beta x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 bar [1000, 439, 355, 204] ``` ------------------------------------------------------------ + bash -c 'cd quarkus-getting-started; make bench' rm -f *.cds *.cds.code *.classlist *.jsa *~ *.log *.log.* hs_err_* *.aot *.aotconf rm -f mainline_vs_premain.csv run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 1,377,196,207,102 2,392,232,197,106 3,394,207,183,107 4,408,218,191,104 5,399,193,199,104 6,402,187,203,101 7,405,207,195,109 8,402,196,196,113 9,394,203,190,109 10,396,197,205,108 Geomean,396.81,203.22,196.47,106.24 (3.74x improvement) Stdev,8.26,12.59,6.99,3.47 Markdown snippets in mainline_vs_premain.md + bash -c 'cat quarkus-getting-started/mainline_vs_premain.md' ```mermaid --- config: theme: "forest" xyChart: chartOrientation: horizontal height: 300 --- xychart-beta x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] y-axis "Elapsed time (ms, smaller is better)" 0 --> 396.81 bar [396.81, 203.22, 196.47, 106.24] ``` -----------------Normalized--------------------------------------------- ```mermaid --- config: theme: "forest" xyChart: chartOrientation: horizontal height: 300 --- xychart-beta x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 bar [1000, 512, 495, 268] ``` ------------------------------------------------------------ + bash -c 'cd spring-boot-getting-started; make bench' rm -f *.cds *.cds.code *.classlist *.jsa *~ *.log *.log.* hs_err_* tmp.txt *.aot *.aotconf rm -f mainline_vs_premain.csv run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 1,644,429,387,161 2,684,411,347,134 3,693,408,347,138 4,673,416,359,165 5,740,421,320,138 6,667,389,318,144 7,665,417,394,136 8,683,389,346,140 9,702,434,338,152 10,598,378,343,130 Geomean,673.96,408.82,349.13,143.38 (4.70x improvement) Stdev,35.33,17.46,23.53,11.14 Markdown snippets in mainline_vs_premain.md + bash -c 'cat spring-boot-getting-started/mainline_vs_premain.md' ```mermaid --- config: theme: "forest" xyChart: chartOrientation: horizontal height: 300 --- xychart-beta x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] y-axis "Elapsed time (ms, smaller is better)" 0 --> 673.96 bar [673.96, 408.82, 349.13, 143.38] ``` -----------------Normalized--------------------------------------------- ```mermaid --- config: theme: "forest" xyChart: chartOrientation: horizontal height: 300 --- xychart-beta x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 bar [1000, 607, 518, 213] ``` ------------------------------------------------------------ + bash -c 'cd spring-petclinic; make bench' rm -f spring-petclinic.* *.aot *.aotconf rm -f mainline_vs_premain.csv run,mainline default,mainline custom static cds,mainline aot cache,premain aot cache 1,2824,1863,1691,909 2,2796,1810,1674,911 3,2915,1782,1670,928 4,2834,1824,1552,932 5,2907,1795,1593,939 6,2822,1788,1606,1012 7,2748,1782,1625,964 8,2903,1781,1547,931 9,2852,1722,1712,913 10,2833,1831,1599,946 Geomean,2842.96,1797.44,1625.98,938.05 (3.03x improvement) Stdev,50.18,35.80,54.58,29.32 Markdown snippets in mainline_vs_premain.md + bash -c 'cat spring-petclinic/mainline_vs_premain.md' ```mermaid --- config: theme: "forest" xyChart: chartOrientation: horizontal height: 300 --- xychart-beta x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] y-axis "Elapsed time (ms, smaller is better)" 0 --> 2842.96 bar [2842.96, 1797.44, 1625.98, 938.05] ``` -----------------Normalized--------------------------------------------- ```mermaid --- config: theme: "forest" xyChart: chartOrientation: horizontal height: 300 --- xychart-beta x-axis "variant" ["mainline default", "mainline custom static cds", "mainline aot cache", "premain aot cache"] y-axis "Elapsed time (normalized, smaller is better)" 0 --> 1000 bar [1000, 632, 572, 330] ```