Руководство - Производительность

Бенчмарки Mac Mini M4 Pro для разработчиков

Реальные бенчмарки, важные для разработчиков. Мы протестировали время сборки Xcode, компиляцию Swift, сборку Docker, скорость инференса LLM и многое другое на четырёх поколениях оборудования Mac.

20 мин чтения Обновлено в январе 2025

Условия тестирования

Все бенчмарки проводились на выделенных серверах 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"

Оцените производительность M4 Pro

Получите выделенный сервер Mac Mini M4 Pro и убедитесь в этих бенчмарках сами. Без первоначального платежа, отмена в любое время.

Связанные руководства