Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion native/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<arcadedb.version>26.10.2</arcadedb.version>
<!-- Same as native/pom.xml native.graalvm.version: the builder (GraalVM CE 25.0.2) must match. -->
<graalvm.version>25.0.2</graalvm.version>
<!-- phase 5: -Dnative.opt=-O2 (CE: -O2 and -O3 are the same) and -Dgraalvm.version=25.4.4.1.1 for the newest CE; -Os stays the default for the old numbers -->
<!-- build-image.sh passes -Dnative.opt=-O3 (#159: on CE 25.4.4.1.1 -O3 is not -O2; timed, warm geomean 0.736 at 1.62x the library size) and -Dgraalvm.version=25.4.4.1.1; -Os stays the default for the old numbers -->
<native.opt>-Os</native.opt>
<native-maven-plugin.version>1.1.14</native-maven-plugin.version>
<maven.compiler.release>25</maven.compiler.release>
Expand Down
4 changes: 2 additions & 2 deletions native/scripts/build-image.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Build the native image (the shared library the `arcadedb` wheel ships): GraalVM CE 25.4.4.1.1, -O2, FFM unbound Highway
# Build the native image (the shared library the `arcadedb` wheel ships): GraalVM CE 25.4.4.1.1, -O3, FFM unbound Highway
# handle (fastops.mode 1), -H:-VectorAPISupport (CE crash oracle/graal#14751), engine jars of the pinned RELEASE (arcadedb.version, from
# Maven Central, never a local SNAPSHOT), local symbols deleted (the default: a smaller image than the phase 7/8 profiling builds).
# MARCH (default compatibility = baseline x86-64, what a manylinux wheel promises, PEP 600; x86-64-v3 is the GraalVM CE 25.4 default and the faster reference).
Expand Down Expand Up @@ -34,7 +34,7 @@ export JAVA_HOME=$G PATH=$G/bin:$PATH
export NATIVE_IMAGE_OPTIONS="-J-Dfastops.mode=1 -J-Xmx$XMX -H:-VectorAPISupport -march=$MARCH${NI_EXTRA:+ $NI_EXTRA}"
cd "$WT/native"
rm -f "target/$LIBFILE" "$OUT/$LIBFILE"
./mvnw -B --no-transfer-progress -f pom.xml -DskipTests -Darcadedb.version="$ENGINE" -Dgraalvm.version=25.4.4.1.1 -Dnative.opt=-O2 package > "$OUT/build.log" 2>&1
./mvnw -B --no-transfer-progress -f pom.xml -DskipTests -Darcadedb.version="$ENGINE" -Dgraalvm.version=25.4.4.1.1 -Dnative.opt=-O3 package > "$OUT/build.log" 2>&1
# Windows: the Maven plugin hands native-image its arguments in an @args file that it deletes at exit, so build.log has no
# "native-image -cp <classpath> --shared" line, which gen_notices.py reads. Append one: the glue jar plus the runtime classpath that
# dependency:build-classpath resolves with the same properties (checked on Linux: the same 59 jars as the logged classpath, plus the glue jar).
Expand Down
2 changes: 1 addition & 1 deletion native/wheel/build_wheel.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ def sub(m):
(dst / "_build_info.py").write_text(
f'"""Written by native-wheel/build_wheel.py."""\n'
f'ENGINE_VERSION = "{a.engine}" # the ArcadeDB engine release compiled into {libname}\n'
f'NATIVE_IMAGE = "GraalVM CE 25.4.4.1.1, -O2, -march={a.march}"\n'
f'NATIVE_IMAGE = "GraalVM CE 25.4.4.1.1, -O3, -march={a.march}"\n'
f'NATIVE_MARCH = "{a.march}" # lib.py checks the CPU only for an x86-64-v3 image\n'
f'SOURCE_COMMIT = "{commit}" # ArcadeData/arcadedb-python commit of the bindings and the Java glue\n',
encoding="utf-8",
Expand Down
Loading