Xcode Build Benchmark
Misst Xcode Clean-, Cached-Clean- und inkrementelle Build-Zeiten in einem JSON-Artefakt
Funktioniert mit Setup
Was es kann
Führt wiederholbare xcodebuild-Benchmarks für ein Schema aus — 3 Clean Builds, 3 Zero-Change Builds, optionale Touch-File inkrementelle Builds, plus eine Cached-Clean-Phase, wenn COMPILATION_CACHE_ENABLE_CACHING aktiviert ist — und schreibt zeitgestempeltes JSON plus Rohprotokolle nach .build-benchmark/. Berichtet Mediane, Min/Max und die dominanten Build-Timing-Summary-Kategorien anstelle eines einzelnen schnellsten Laufs. Wird ausgelöst, wenn ein Entwickler fragt, Xcode-Build-Zeiten zu messen, eine Vorher-/Nachher-Baseline wünscht oder fragt, ob Builds schneller oder langsamer wurden.
Testbericht
Diese Maschine verfügt nur über Command Line Tools (`xcodebuild -version` Fehler: „requires Xcode“), daher konnte kein echter iOS-Build gebenchmarkt werden — daher outputMeasured=false. Um die Maschinerie trotzdem zu überprüfen, habe ich einen Stub `xcodebuild` in den PATH gelegt, der eine gefälschte Build Timing Summary ausgibt, und `scripts/benchmark_builds.py` Ende-zu-Ende ausgeführt: Exit 0, 12 Rohprotokolle plus ein zeitgestempeltes JSON in das Ausgabeverzeichnis geschrieben, cached-clean-Phase automatisch erkannt von COMPILATION_CACHE_ENABLE_CACHING=YES, Mediane/Min/Max pro Build-Typ berechnet, und der Timing-Parser teilte „SwiftCompile (412 tasks) | 128.412 seconds“ korrekt in name/seconds/task_count auf. Ein konkreter Defekt: Der Standardlauf (ohne --touch-file) taggt Läufe mit `build_type: "zero-change"`, was das eigene schemas/build-benchmark.schema.json des Skills fehlschlagen lässt (Enum ist clean|cached-clean|incremental) — jsonschema lehnte das generierte Artefakt ab. Skripte sind netzwerkfrei ohne curl|sh, base64 oder Injection-Text; die einzige Falle ist `shutil.rmtree` auf einem vom Benutzer bereitgestellten --derived-data-path während der cached-clean-Phase.
Getestet am: 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
Befehle & Beispiel-Prompts
/xcode-build-benchmarkMisst Xcode Clean-, Cached-Clean- und inkrementelle Build-Zeiten in einem JSON-Artefakt
Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):
Benchmark our current Xcode build timeCompare build times before and after this changeMeasure how long incremental builds take now