Xcode Build Benchmark

Mäter Xcode clean, cached-clean och inkrementella byggtider till ett JSON-artefakt

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

Fungerar med konfiguration ★ 7.6/10

Xcode Build Benchmark — Mäter Xcode clean, cached-clean och inkrementella byggtider till ett JSON-artefakt

Vad den gör

Kör repeterbara xcodebuild-benchmarks för ett schema — 3 clean builds, 3 zero-change builds, valfria touch-file inkrementella byggen, plus en cached-clean-fas när COMPILATION_CACHE_ENABLE_CACHING är på — och skriver tidsstämplad JSON plus råa loggar till .build-benchmark/. Rapporterar medianer, min/max och de dominerande build-timing-summary-kategorierna istället för en enskild snabbaste körning. Utlöses när en utvecklare ber att mäta Xcode-byggtider, vill ha en före/efter-baslinje, eller frågar om byggen blev snabbare eller långsammare.

Testrapport

Denna maskin har endast Command Line Tools (`xcodebuild -version` fel: "requires Xcode"), så ingen verklig iOS-byggnad kunde benchmarkas — därav outputMeasured=false. För att ändå verifiera maskineriet lade jag en stub `xcodebuild` på PATH som avger en falsk Build Timing Summary och körde `scripts/benchmark_builds.py` från början till slut: exit 0, 12 råa loggar plus en tidsstämplad JSON skriven till utdatamappen, cached-clean-fasen autodetekterades från COMPILATION_CACHE_ENABLE_CACHING=YES, medianer/min/max beräknades per byggtyp, och tidsanalysatorn delade korrekt "SwiftCompile (412 tasks) | 128.412 seconds" i name/seconds/task_count. Ett konkret fel: standardkörningen (utan --touch-file) taggar körningar `build_type: "zero-change"`, vilket misslyckas med skicklighetens egna schemas/build-benchmark.schema.json (enum är clean|cached-clean|incremental) — jsonschema avvisade det genererade artefaktet. Skripten är nätverksfria utan curl|sh, base64 eller injektionstext; den enda fallgropen är `shutil.rmtree` på en användardefinierad --derived-data-path under cached-clean-fasen.

Testad: 2026-07-21 · Claude Code 2.x (agent harness)

Installation

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

Kommandon och exempelprompter

  • /xcode-build-benchmarkMäter Xcode clean, cached-clean och inkrementella byggtider till ett JSON-artefakt

Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):

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