aboutsummaryrefslogtreecommitdiff
path: root/tests/bench/bench.sh
diff options
context:
space:
mode:
authorGravatar zinc <zinc@downsta.ir> 2026-10-14 19:36:30 +0330
committerGravatar zinc <zinc@downsta.ir> 2026-10-14 19:36:30 +0330
commitfbfbb687c22e8193541301784811c316906f9890 (patch)
tree3d146ef5d014426ba07df3f222afaf9a34daf20e /tests/bench/bench.sh
parentexamples: actor demo (diff)
parentbench: drop committed pycache, ignore __pycache__ (diff)
merge work/bench: make bench, bench-check, bench-selftest; baseline at 89f35bd
Diffstat (limited to 'tests/bench/bench.sh')
-rw-r--r--tests/bench/bench.sh14
1 files changed, 10 insertions, 4 deletions
diff --git a/tests/bench/bench.sh b/tests/bench/bench.sh
index 0a9acef..e532f93 100644
--- a/tests/bench/bench.sh
+++ b/tests/bench/bench.sh
@@ -4,14 +4,20 @@
cd "$(dirname "$0")/../.."; T=$(mktemp -d); trap 'rm -rf $T' EXIT
CC=${CC:-$(sh src/tools/findcc.sh)} || exit 1
make -s build/core/genome.bin || exit 1
-$CC -O2 -w -DJTYPE=int -DZYINTERP src/core/core.c src/core/io_linux.c -Isrc/core -Ibuild/core/map --embed-dir=build/core -o $T/zy
-vms=("$T/zy"); names=("interp")
+# the interpreter core only with INTERP=1 (it is slow, and the rows are rarely wanted)
+vms=(); names=()
+if [ "$INTERP" = 1 ]; then
+ $CC -O2 -w -DJTYPE=int -DZYINTERP src/core/core.c src/core/io_linux.c -Isrc/core -Ibuild/core/map --embed-dir=build/core -o $T/zy || exit 1
+ vms+=("$T/zy"); names+=("interp")
+fi
# the host's own jit, where there is one (x86-64 linux: blocks are translated, o3 regions compiled; ZYO3INTERP=1 runs them on the region interpreter)
if [ "$(uname -s)" = Linux ] && [ "$(uname -m)" = x86_64 ]; then
$CC -O2 -w -DJTYPE=int src/core/core.c src/core/io_linux.c -Isrc/core -Ibuild/core/map --embed-dir=build/core -o $T/zyn && { vms+=("$T/zyn"); names+=("x86-64 jit"); }
fi
-if command -v llvm-config >/dev/null; then
- $CC -O2 -w -DJTYPE=int -DZYLLVM $(llvm-config --cflags) src/core/core.c src/core/io_linux.c -Isrc/core -Ibuild/core/map --embed-dir=build/core -o $T/zyl $(llvm-config --ldflags --libs) && { vms+=("$T/zyl"); names+=("llvm"); }
+# the llvm: LLVM_CONFIG when given, else llvm-config, else llvm-config-19 (as in the Makefile)
+LC=${LLVM_CONFIG:-$(command -v llvm-config || command -v llvm-config-19)}
+if [ -n "$LC" ]; then
+ $CC -O2 -w -DJTYPE=int -DZYLLVM $($LC --cflags) src/core/core.c src/core/io_linux.c -Isrc/core -Ibuild/core/map --embed-dir=build/core -o $T/zyl $($LC --ldflags --libs) && { vms+=("$T/zyl"); names+=("llvm"); }
fi
if command -v aarch64-linux-gnu-gcc >/dev/null && command -v qemu-aarch64 >/dev/null; then
aarch64-linux-gnu-gcc -O2 -w -DJTYPE=int -static src/core/core.c src/core/io_linux.c -Isrc/core -Ibuild/core/map --embed-dir=build/core -o $T/zyj && { vms+=("qemu-aarch64 $T/zyj"); names+=("arm64 (qemu)"); }