Xcode Build Benchmark
Měří časy čistého, cached-clean a inkrementálního sestavení Xcode do JSON artefaktu
Funguje s nastavením
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 timeCompare build times before and after this changeMeasure how long incremental builds take now