Xcode Build Benchmark

Měří časy čistého, cached-clean a inkrementálního sestavení Xcode do JSON artefaktu

od AvdLee · AvdLee/Xcode-Build-Optimization-Agent-Skill

Funguje s nastavením ★ 7.6/10

Xcode Build Benchmark — Měří časy čistého, cached-clean a inkrementálního sestavení Xcode do JSON artefaktu

Co umí

Spouští opakovatelné xcodebuild benchmarky pro schéma — 3 čistá sestavení, 3 sestavení s nulovou změnou, volitelná inkrementální sestavení s touch-file, plus fáze cached-clean, když je COMPILATION_CACHE_ENABLE_CACHING zapnuto — a zapisuje časově označený JSON plus raw logy do .build-benchmark/. Hlásí mediány, min/max a dominantní kategorie build-timing-summary namísto jednoho nejrychlejšího běhu. Spouští se, když vývojář požádá o měření časů sestavení Xcode, chce baseline před/po, nebo se zeptá, zda se sestavení zrychlila nebo zpomalila.

Testovací report

Tento stroj má pouze Command Line Tools (`xcodebuild -version` chyby: "requires Xcode"), takže žádné skutečné sestavení iOS nemohlo být benchmarkováno — proto outputMeasured=false. Abych ověřil mechanismus, umístil jsem stub `xcodebuild` na PATH, který emituje falešný Build Timing Summary a spustil `scripts/benchmark_builds.py` od začátku do konce: exit 0, 12 raw logů plus jeden časově označený JSON zapsaný do výstupního adresáře, fáze cached-clean automaticky detekována z COMPILATION_CACHE_ENABLE_CACHING=YES, mediány/min/max vypočítány pro každý typ sestavení a parser časování správně rozdělil "SwiftCompile (412 tasks) | 128.412 seconds" na name/seconds/task_count. Jedna konkrétní vada: výchozí spuštění (no --touch-file) označuje spuštění `build_type: "zero-change"`, což selhává ve vlastním schemas/build-benchmark.schema.json dovednosti (enum je clean|cached-clean|incremental) — jsonschema odmítla vygenerovaný artefakt. Skripty jsou bez sítě, bez curl|sh, base64 nebo injekčního textu; jediným problémem je `shutil.rmtree` na uživatelem dodané --derived-data-path během fáze cached-clean.

Testováno: 2026-07-21 · Claude Code 2.x (agent harness)

Instalace

git clone --depth 1 https://github.com/AvdLee/Xcode-Build-Optimization-Agent-Skill.git /tmp/xcode-build-benchmark-src
mkdir -p ~/.claude/skills
cp -R /tmp/xcode-build-benchmark-src/skills/xcode-build-benchmark ~/.claude/skills/xcode-build-benchmark
# Requires full Xcode (not just Command Line Tools) and an .xcodeproj/.xcworkspace.
# CLI instead: npx skills add https://github.com/AvdLee/Xcode-Build-Optimization-Agent-Skill --skill xcode-build-benchmark
# Plugin instead: /plugin marketplace add AvdLee/Xcode-Build-Optimization-Agent-Skill
# Run from the project directory:
#   python3 ~/.claude/skills/xcode-build-benchmark/scripts/benchmark_builds.py \
#     --workspace App.xcworkspace --scheme MyApp --configuration Debug \
#     --destination "platform=iOS Simulator,name=iPhone 16" --output-dir .build-benchmark

Příkazy a ukázkové prompty

  • /xcode-build-benchmarkMěří časy čistého, cached-clean a inkrementálního sestavení Xcode do JSON artefaktu

Skilly se spouštějí běžnými požadavky — žádné příkazy k zapamatování. Po instalaci ho aktivují prompty jako tyto (anglicky):

  • Benchmark our current Xcode build time
  • Compare build times before and after this change
  • Measure how long incremental builds take now