commit ec872f18f7cfdbe0a2e9b5ff84bc5f1db93f4475
parent 75b48f7fe468c2c4455f5451667ed023891a28a6
Author: Ryan Sepassi <rsepassi@gmail.com>
Date: Tue, 16 Jun 2026 11:38:59 -0700
Use llvm-ar for ecosystem archive speed comparison
Diffstat:
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/mk/test.mk b/mk/test.mk
@@ -330,11 +330,13 @@ provision-ecosystem:
test-ecosystem: bin
@KIT=$(abspath $(BIN)) sh test/ecosystem/run.sh
+ECO_SPEED_AR ?= $(if $(filter command line,$(origin AR)),$(AR),llvm-ar)
+
ecosystem-speed:
@if [ ! -x build/release/kit ]; then \
$(MAKE) --no-print-directory RELEASE=1 bin; \
fi
- @KIT=$(abspath build/release/kit) AR=$(AR) bash scripts/ecosystem_speed.sh
+ @KIT=$(abspath build/release/kit) AR=$(ECO_SPEED_AR) bash scripts/ecosystem_speed.sh
# test-dist: one-command verification of the dist subsystem (content-addressed
# store + signed packaging). Runs the CAS and pkg driver corpora, which cover
diff --git a/scripts/ecosystem_speed.sh b/scripts/ecosystem_speed.sh
@@ -3,7 +3,7 @@
#
# Phases are measured separately:
# compile: compile library TUs plus the driver TU to objects.
-# archive: archive the kit-compiled library objects with kit ar vs host ar.
+# archive: archive the kit-compiled library objects with kit ar vs llvm-ar.
# link: link precompiled driver object plus static library into an app.
#
# Correctness remains owned by test/ecosystem/run.sh; this script is a timing
@@ -21,7 +21,7 @@ ECOSYS="$ROOT/scripts/ecosystem.sh"
KIT="${KIT:-$ROOT/build/release/kit}"
CLANG="${CLANG:-clang}"
TCC="${TCC:-tcc}"
-HOST_AR="${AR:-ar}"
+HOST_AR="${AR:-llvm-ar}"
RUNS="${ECO_SPEED_RUNS:-${RUNS:-5}}"
TIMEOUT_S="${ECO_SPEED_TIMEOUT:-${TIMEOUT:-20}}"
OPTS="${ECO_SPEED_OPTS:-O0 O1}"
@@ -46,7 +46,7 @@ env:
KIT kit binary (default: build/release/kit)
CLANG clang binary (default: clang)
TCC tcc binary (default: tcc; skipped if unavailable)
- AR host ar binary (default: ar)
+ AR host archive binary (default: llvm-ar)
ECO_SPEED_RUNS best-of-N runs per row (default: 5)
ECO_SPEED_TIMEOUT phase timeout seconds per run (default: 20)
ECO_SPEED_OPTS opt levels, e.g. "O0 O1" (default: "O0 O1")