diff options
| author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> | 2024-01-31 09:34:15 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-31 09:34:15 +0100 |
| commit | a5ce4ba77184d669e67d9633ee20c466ad167742 (patch) | |
| tree | 6dcdd8a76da0e7b35d9e8b8a4d6a6526b4e1b5ad /prepare_thomaswue.sh | |
| parent | 7f0e51781190bcfcd4b8624352230a19737b01c8 (diff) | |
Added comments to used flags, clean up code, final fine tuning. (#674)
Diffstat (limited to 'prepare_thomaswue.sh')
| -rwxr-xr-x | prepare_thomaswue.sh | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/prepare_thomaswue.sh b/prepare_thomaswue.sh index da0a591..3e75233 100755 --- a/prepare_thomaswue.sh +++ b/prepare_thomaswue.sh @@ -20,7 +20,19 @@ sdk use java 21.0.2-graal 1>&2 # ./mvnw clean verify removes target/ and will re-trigger native image creation. if [ ! -f target/CalculateAverage_thomaswue_image ]; then - NATIVE_IMAGE_OPTS="--gc=epsilon -O3 -H:TuneInlinerExploration=1 -march=native --enable-preview --initialize-at-build-time=dev.morling.onebrc.CalculateAverage_thomaswue\$Scanner" - # Use -H:MethodFilter=CalculateAverage_thomaswue.* -H:Dump=:2 -H:PrintGraph=Network for IdealGraphVisualizer graph dumping. + + # Performance tuning flags, optimization level 3, maximum inlining exploration, and compile for the architecture where the native image is generated. + NATIVE_IMAGE_OPTS="-O3 -H:TuneInlinerExploration=1 -march=native" + + # Need to enable preview for accessing the raw address of the foreign memory access API. + # Initializing the Scanner to make sure the unsafe access object is known as a non-null compile time constant. + NATIVE_IMAGE_OPTS="$NATIVE_IMAGE_OPTS --enable-preview --initialize-at-build-time=dev.morling.onebrc.CalculateAverage_thomaswue\$Scanner" + + # There is no need for garbage collection and therefore also no safepoints required. + NATIVE_IMAGE_OPTS="$NATIVE_IMAGE_OPTS --gc=epsilon -H:-GenLoopSafepoints" + + # Uncomment the following line for outputting the compiler graph to the IdealGraphVisualizer + # NATIVE_IMAGE_OPTS="$NATIVE_IMAGE_OPTS -H:MethodFilter=CalculateAverage_thomaswue.* -H:Dump=:2 -H:PrintGraph=Network" + native-image $NATIVE_IMAGE_OPTS -cp target/average-1.0.0-SNAPSHOT.jar -o target/CalculateAverage_thomaswue_image dev.morling.onebrc.CalculateAverage_thomaswue fi |
