Условия тестирования
Все бенчмарки проводились на выделенных серверах MyRemoteMac в идентичных условиях:
- M4 Pro: Mac Mini M4 Pro, 14-ядерный CPU / 20-ядерный GPU, 24 ГБ RAM, 512 ГБ SSD
- M4: Mac Mini M4, 10-ядерный CPU / 10-ядерный GPU, 16 ГБ RAM, 256 ГБ SSD
- M2 Pro: Mac Mini M2 Pro, 12-ядерный CPU / 19-ядерный GPU, 16 ГБ RAM, 512 ГБ SSD
- Intel i9: Mac Mini Intel Core i9 (2018), 6 ядер, 32 ГБ RAM, 512 ГБ SSD
- macOS: Sequoia 15.2, Xcode 16.2, все последние обновления
Результаты Geekbench 6
Geekbench 6 измеряет производительность CPU. Одноядерный результат показывает отзывчивость для повседневных задач и операций IDE. Многоядерный результат отражает производительность сборки и компиляции.
| Чип | Одно ядро | Все ядра | 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 |
Ключевой вывод: Многоядерный результат M4 Pro в 2,68 раза быстрее Intel i9, что означает, что сборки, занимавшие 10 минут на Intel, теперь завершаются менее чем за 4 минуты. Улучшение одноядерной производительности означает, что интерфейс Xcode, автодополнение кода и индексация работают заметно быстрее.
Время сборки Xcode
Мы тестировали чистые сборки крупного production-проекта iOS с примерно 500 000 строк кода на Swift, 200+ таргетами и смешанными модулями Swift/Objective-C.
| Чип | Чистая сборка | Инкрементальная сборка | Экономия времени 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 |
Как мы измеряли
# 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
Чистая сборка Swift Package Manager
Мы протестировали проект Swift Package Manager с 50 зависимостями, включая крупные пакеты, такие как Alamofire, Kingfisher, SnapKit и Firebase SDK.
| Чип | Разрешение зависимостей | Чистая сборка | Общее время |
|---|---|---|---|
| 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)
Производительность сборки Docker
Мы тестировали сборку production-приложения Node.js в Docker-образе (многоступенчатая сборка с npm install, компиляцией TypeScript и настройкой nginx) с использованием Docker Desktop для Mac.
| Чип | Сборка Docker (без кэша) | Сборка Docker (с кэшированными слоями) | Размер образа |
|---|---|---|---|
| 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 .
Производительность инференса LLM
Архитектура унифицированной памяти Apple Silicon делает её отличной платформой для локального запуска больших языковых моделей. Мы тестировали скорость инференса с помощью llama.cpp с ускорением Metal.
| Модель | M4 Pro (ток/с) | M4 (ток/с) | M2 Pro (ток/с) | Intel i9 (ток/с) |
|---|---|---|---|---|
| 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."
Примечание: M4 Pro с 24 ГБ унифицированной памяти может запускать модели до ~40B параметров в 4-битной квантизации. Для модели 70B необходима конфигурация с 48 ГБ или 64 ГБ. Intel i9 с 32 ГБ технически может запускать модели 7-13B, но на непрактичных скоростях из-за отсутствия ускорения Metal GPU.
Производительность SSD
Скорость SSD напрямую влияет на индексацию Xcode, время открытия проектов, загрузку симулятора и разрешение зависимостей. Мы измерили скорость последовательного чтения/записи с помощью dd и Disk Speed Test.
| Чип | Последовательное чтение | Последовательная запись | Случайное чтение 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
Пропускная способность сети
Все серверы MyRemoteMac подключены через сеть 10 Гбит/с. Вот реальные скорости передачи, которые мы измерили.
| Тест | Скорость | Примечания |
|---|---|---|
| iperf3 (локальный дата-центр) | 9,42 Гбит/с | Близко к скорости провода внутри дата-центра |
| Speedtest (интернет) | 8,7 Гбит/с загрузка / 8,2 Гбит/с отдача | К основным европейским точкам обмена трафиком |
| git clone (большой репозиторий, 2 ГБ) | 14 с | С GitHub, ограничено пропускной способностью GitHub |
| CocoaPods install (50 подов) | 28 с | Включая git clone и разрешение спецификаций |
| Docker pull (образ 1 ГБ) | 8 с | С 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
Полная сравнительная таблица
Все метрики в одной таблице для удобного сравнения.
| Метрика | 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 |
Что это значит для CI/CD
Более быстрое оборудование напрямую транслируется в ускорение пайплайнов CI/CD, сокращение циклов обратной связи для разработчиков и снижение стоимости каждой сборки.
Экономия времени пайплайна сборки
Типичный iOS CI пайплайн (checkout, сборка, тесты, архивация), который занимал 25 минут на Intel, теперь завершается менее чем за 10 минут на 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)
Сравнение стоимости сборки
При 100 сборках в месяц по $75/мес. за M4, по сравнению с macOS runner GitHub по $0,08/мин.
# 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
Влияние на продуктивность разработчиков
Исследования показывают, что время сборки напрямую влияет на состояние потока разработчика. 10-минутная сборка означает, что разработчики переключаются на другие задачи и теряют 15-20 минут в сумме. 4-минутная сборка позволяет разработчикам оставаться в потоке. Для команды из 5 разработчиков, выполняющих 10 сборок в день каждый, M4 Pro экономит примерно 5 часов совокупного времени ожидания ежедневно по сравнению с Intel i9.
Попробуйте сами
Запустите эти бенчмарки на вашем собственном сервере MyRemoteMac, чтобы увидеть результаты своими глазами.
# 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"