kit

kit
git clone https://git.ryansepassi.com/git/kit.git
Log | Files | Refs | README

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:
Mmk/test.mk | 4+++-
Mscripts/ecosystem_speed.sh | 6+++---
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")