Xcode Build Benchmark

Mide los tiempos de compilación limpia, limpia con caché e incremental de Xcode en un artefacto JSON

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

Funciona con configuración ★ 7.6/10

Xcode Build Benchmark — Mide los tiempos de compilación limpia, limpia con caché e incremental de Xcode en un artefacto JSON

Qué hace

Ejecuta benchmarks repetibles de xcodebuild para un esquema — 3 compilaciones limpias, 3 compilaciones sin cambios, compilaciones incrementales opcionales con touch-file, más una fase de limpieza con caché cuando COMPILATION_CACHE_ENABLE_CACHING está activado — y escribe JSON con marca de tiempo más logs brutos en .build-benchmark/. Reporta medianas, min/max y las categorías dominantes del resumen de tiempos de compilación en lugar de una única ejecución más rápida.

Informe de la prueba

Esta máquina solo tiene Command Line Tools (`xcodebuild -version` errores: "requires Xcode"), por lo que no se pudo realizar un benchmark real de compilación de iOS — de ahí outputMeasured=false. Para verificar la maquinaria de todos modos, puse un stub `xcodebuild` en PATH que emite un Build Timing Summary falso y ejecuté `scripts/benchmark_builds.py` de principio a fin: salida 0, 12 logs brutos más un JSON con marca de tiempo escrito en el directorio de salida, fase cached-clean detectada automáticamente de COMPILATION_CACHE_ENABLE_CACHING=YES, medianas/min/max calculadas por tipo de compilación, y el analizador de tiempos dividió correctamente "SwiftCompile (412 tasks) | 128.412 seconds" en name/seconds/task_count. Un defecto concreto: la ejecución predeterminada (sin --touch-file) etiqueta las ejecuciones `build_type: "zero-change"`, lo que falla el propio schemas/build-benchmark.schema.json de la habilidad (el enum es clean|cached-clean|incremental) — jsonschema rechazó el artefacto generado. Los scripts no tienen red, ni curl|sh, ni base64, ni texto de inyección; el único peligro es `shutil.rmtree` en una --derived-data-path proporcionada por el usuario durante la fase cached-clean.

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

Instalación

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

Comandos y prompts de ejemplo

  • /xcode-build-benchmarkMide los tiempos de compilación limpia, limpia con caché e incremental de Xcode en un artefacto JSON

Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):

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