Guía - Rendimiento

Benchmarks del Mac Mini M4 Pro para Desarrolladores

Benchmarks reales que importan a los desarrolladores. Probamos tiempos de compilación en Xcode, compilación Swift, compilaciones Docker, velocidades de inferencia LLM y más en cuatro generaciones de hardware Mac.

20 min de lectura Actualizado en enero de 2025

Configuración de las Pruebas

Todos los benchmarks se ejecutaron en servidores dedicados de MyRemoteMac bajo condiciones idénticas:

  • M4 Pro: Mac Mini M4 Pro, CPU de 14 núcleos / GPU de 20 núcleos, 24GB RAM, 512GB SSD
  • M4: Mac Mini M4, CPU de 10 núcleos / GPU de 10 núcleos, 16GB RAM, 256GB SSD
  • M2 Pro: Mac Mini M2 Pro, CPU de 12 núcleos / GPU de 19 núcleos, 16GB RAM, 512GB SSD
  • Intel i9: Mac Mini Intel Core i9 (2018), 6 núcleos, 32GB RAM, 512GB SSD
  • macOS: Sequoia 15.2, Xcode 16.2, todas las últimas actualizaciones

Puntuaciones Geekbench 6

Geekbench 6 mide el rendimiento bruto del CPU. La puntuación de un solo núcleo indica la capacidad de respuesta para tareas cotidianas y operaciones del IDE. La puntuación multinúcleo refleja el rendimiento de compilación.

Chip Un Solo Núcleo Multinúcleo vs Intel i9
M4 Pro 3,850 22,000 +129% SC / +168% MC
M4 3,800 15,000 +126% SC / +83% MC
M2 Pro 2,750 14,500 +64% SC / +77% MC
Intel i9 1,680 8,200 Baseline

Dato clave: La puntuación multinúcleo del M4 Pro es 2,68 veces más rápida que la del Intel i9, lo que significa que las compilaciones que tardaban 10 minutos en Intel ahora se completan en menos de 4 minutos. La mejora en un solo núcleo significa que la interfaz de Xcode, el autocompletado de código y la indexación se sienten drásticamente más receptivos.

Tiempos de Compilación en Xcode

Probamos compilaciones limpias en un proyecto iOS de producción grande con aproximadamente 500.000 líneas de código Swift, más de 200 targets y módulos mixtos Swift/Objective-C.

Chip Tiempo de Compilación Limpia Compilación Incremental Tiempo Ahorrado vs Intel
M4 Pro 4m 12s 8s 8m 18s saved (66%)
M4 5m 45s 11s 6m 45s saved (54%)
M2 Pro 7m 15s 14s 5m 15s saved (42%)
Intel i9 12m 30s 32s Baseline

Cómo Medimos

# Clean build measurement
xcodebuild clean
time xcodebuild -workspace App.xcworkspace \
  -scheme App \
  -destination 'platform=iOS Simulator,name=iPhone 16' \
  build 2>&1 | tail -1

# Incremental build (single file change)
touch Sources/App/ContentView.swift
time xcodebuild -workspace App.xcworkspace \
  -scheme App \
  -destination 'platform=iOS Simulator,name=iPhone 16' \
  build 2>&1 | tail -1

Compilación Limpia con Swift Package Manager

Probamos un proyecto Swift Package Manager con 50 dependencias, incluyendo paquetes grandes como Alamofire, Kingfisher, SnapKit y Firebase SDK.

Chip Resolución de Dependencias Compilación Limpia Tiempo Total
M4 Pro 12s 1m 38s 1m 50s
M4 14s 2m 15s 2m 29s
M2 Pro 15s 2m 52s 3m 07s
Intel i9 28s 5m 45s 6m 13s
# SPM clean build measurement
swift package clean
time swift build -c release 2>&1 | tail -5

# With parallel jobs (default uses all cores)
time swift build -c release -j $(sysctl -n hw.ncpu)

Rendimiento de Compilación Docker

Probamos la compilación de una imagen Docker de una aplicación Node.js de producción (compilación multi-etapa con npm install, compilación TypeScript y configuración de nginx) usando Docker Desktop para Mac.

Chip Compilación Docker (sin caché) Compilación Docker (capas en caché) Tamaño de la Imagen
M4 Pro 42s 6s 185MB
M4 58s 7s 185MB
M2 Pro 1m 15s 8s 185MB
Intel i9 2m 38s 12s 192MB
# Docker build benchmark
docker system prune -af
time docker build --no-cache -t benchmark-app .

# Cached rebuild (change only app source, not dependencies)
echo "// updated" >> src/index.ts
time docker build -t benchmark-app .

Rendimiento de Inferencia LLM

La arquitectura de memoria unificada de Apple Silicon la hace excelente para ejecutar modelos de lenguaje grandes de forma local. Probamos la velocidad de inferencia usando llama.cpp con aceleración Metal.

Modelo M4 Pro (tok/s) M4 (tok/s) M2 Pro (tok/s) Intel i9 (tok/s)
Llama 3 8B (Q4_K_M) 48.2 35.6 28.4 8.1
Mistral 7B (Q4_K_M) 52.7 38.9 31.2 9.3
Llama 3 70B (Q4_K_M) 8.5 OOM OOM OOM
CodeLlama 13B (Q4_K_M) 32.1 22.8 18.6 5.7
# Install llama.cpp with Metal support
brew install llama.cpp

# Run benchmark with Llama 3 8B
llama-bench -m llama-3-8b-q4_k_m.gguf -n 512 -ngl 99

# Interactive chat
llama-cli -m llama-3-8b-q4_k_m.gguf \
  -n 512 -ngl 99 --color \
  -p "You are a helpful coding assistant."

Nota: El M4 Pro con 24GB de memoria unificada puede ejecutar modelos de hasta ~40B parámetros con cuantización de 4 bits. Para el modelo de 70B, necesitas la configuración de 48GB o 64GB. El Intel i9 con 32GB puede técnicamente ejecutar modelos de 7-13B pero a velocidades inutilizables debido a la falta de aceleración Metal GPU.

Rendimiento del SSD

La velocidad del SSD impacta directamente en la indexación de Xcode, los tiempos de apertura de proyectos, el arranque del Simulador y la resolución de dependencias. Medimos las velocidades de lectura/escritura secuencial usando dd y Disk Speed Test.

Chip Lectura Secuencial Escritura Secuencial Lectura Aleatoria 4K (IOPS)
M4 Pro 7,400 MB/s 6,200 MB/s 1,200K
M4 6,800 MB/s 5,100 MB/s 1,050K
M2 Pro 5,100 MB/s 4,200 MB/s 850K
Intel i9 2,800 MB/s 2,300 MB/s 350K
# Quick SSD benchmark with dd
# Write test
dd if=/dev/zero of=./testfile bs=1G count=5 2>&1 | tail -1

# Read test (clear cache first)
sudo purge
dd if=./testfile of=/dev/null bs=1G count=5 2>&1 | tail -1

# Cleanup
rm ./testfile

Rendimiento de Red

Todos los servidores de MyRemoteMac están conectados a través de redes de 10Gbps. Aquí están las velocidades de transferencia reales que medimos.

Prueba Velocidad Notas
iperf3 (datacenter local) 9,42 Gbps Cerca de la velocidad del cable dentro del datacenter
Speedtest (internet) 8,7 Gbps bajada / 8,2 Gbps subida Hacia los principales puntos de peering europeos
git clone (repositorio grande, 2GB) 14s Desde GitHub, limitado por el ancho de banda de salida de GitHub
CocoaPods install (50 pods) 28s Incluyendo clones git y resolución de specs
Docker pull (imagen de 1GB) 8s Desde Docker Hub
# Network benchmark commands
brew install iperf3
iperf3 -c speedtest-server.example.com -t 30

# Measure git clone speed
time git clone --depth 1 https://github.com/nicklockwood/SwiftFormat.git

# Test download speed
curl -o /dev/null -w "Speed: %{speed_download} bytes/sec\n" \
  https://speed.hetzner.de/1GB.bin

Tabla Comparativa Completa

Todas las métricas lado a lado para una comparación fácil.

Métrica M4 Pro M4 M2 Pro Intel i9
Geekbench SC 3,850 3,800 2,750 1,680
Geekbench MC 22,000 15,000 14,500 8,200
Xcode Clean Build (500k LOC) 4m 12s 5m 45s 7m 15s 12m 30s
SPM Clean Build 1m 50s 2m 29s 3m 07s 6m 13s
Docker Build (no cache) 42s 58s 1m 15s 2m 38s
Llama 3 8B Inference 48.2 tok/s 35.6 tok/s 28.4 tok/s 8.1 tok/s
SSD Read 7,400 MB/s 6,800 MB/s 5,100 MB/s 2,800 MB/s
SSD Write 6,200 MB/s 5,100 MB/s 4,200 MB/s 2,300 MB/s
Power Consumption ~45W peak ~30W peak ~40W peak ~120W peak

Qué Significa Esto para CI/CD

Un hardware más rápido se traduce directamente en pipelines de CI/CD más rápidos, ciclos de feedback más cortos para los desarrolladores y menores costes por compilación.

Ahorro de Tiempo en el Pipeline de Compilación

Un pipeline CI típico de iOS (checkout, compilación, test, archivo) que tardaba 25 minutos en Intel ahora se completa en menos de 10 minutos en M4 Pro.

# Typical CI pipeline timing (M4 Pro):
# git checkout:    5s (vs 15s Intel)
# pod install:    28s (vs 1m20s)
# xcodebuild:  4m12s (vs 12m30s)
# xcodebuild test: 3m15s (vs 8m40s)
# archive:     2m30s (vs 6m15s)
# Total:       ~10m (vs ~29m Intel)

Comparación de Coste por Compilación

Asumiendo 100 compilaciones al mes a $75/mes para M4, comparado con runners macOS alojados en GitHub a $0,08/min.

# MyRemoteMac M4 Pro ($149/mo):
# 100 builds x 10min = 1,000 min
# Cost per build: $1.49

# GitHub-hosted macOS runner:
# 100 builds x 25min = 2,500 min
# Cost: 2,500 x $0.08 = $200/mo
# Cost per build: $2.00

# Savings: 25% cheaper + 2.5x faster

Impacto en la Productividad del Desarrollador

Los estudios demuestran que los tiempos de compilación impactan directamente en el estado de flujo del desarrollador. Una compilación de 10 minutos significa que los desarrolladores cambian de contexto a otras tareas y pierden 15-20 minutos en total. Una compilación de 4 minutos mantiene a los desarrolladores en su flujo. Para un equipo de 5 desarrolladores haciendo 10 compilaciones/día cada uno, el M4 Pro ahorra aproximadamente 5 horas de tiempo de espera acumulado diariamente en comparación con el Intel i9.

Pruébalo Tú Mismo

Ejecuta estos benchmarks en tu propio servidor MyRemoteMac para ver los resultados de primera mano.

# Quick benchmark script for your MyRemoteMac server
#!/bin/bash
echo "=== System Info ==="
sysctl -n machdep.cpu.brand_string
sw_vers
echo ""

echo "=== Geekbench 6 ==="
echo "Download from: https://www.geekbench.com/download/"
echo ""

echo "=== SSD Benchmark ==="
echo "Write speed:"
dd if=/dev/zero of=./benchfile bs=1G count=2 2>&1 | tail -1
echo "Read speed:"
sudo purge 2>/dev/null
dd if=./benchfile of=/dev/null bs=1G count=2 2>&1 | tail -1
rm -f ./benchfile
echo ""

echo "=== Network Speed ==="
curl -o /dev/null -w "Download speed: %{speed_download} bytes/sec\n" \
  https://speed.hetzner.de/100MB.bin 2>/dev/null
echo ""

echo "=== Xcode Version ==="
xcodebuild -version
echo ""

echo "Done! Compare your results with the benchmarks at"
echo "https://myremotemac.com/guides/mac-mini-m4-pro-benchmarks.html"

Experimenta el Rendimiento del M4 Pro

Obtén un servidor dedicado Mac Mini M4 Pro y comprueba estos benchmarks por ti mismo. Sin coste inicial, cancela en cualquier momento.

Guías Relacionadas