Pengaturan Pengujian
Semua benchmark dijalankan pada server khusus MyRemoteMac dalam kondisi yang identik:
- M4 Pro: Mac Mini M4 Pro, CPU 14-core / GPU 20-core, RAM 24GB, SSD 512GB
- M4: Mac Mini M4, CPU 10-core / GPU 10-core, RAM 16GB, SSD 256GB
- M2 Pro: Mac Mini M2 Pro, CPU 12-core / GPU 19-core, RAM 16GB, SSD 512GB
- Intel i9: Mac Mini Intel Core i9 (2018), 6-core, RAM 32GB, SSD 512GB
- macOS: Sequoia 15.2, Xcode 16.2, semua pembaruan terbaru
Skor Geekbench 6
Geekbench 6 mengukur performa CPU mentah. Skor single-core menunjukkan responsivitas untuk tugas sehari-hari dan operasi IDE. Skor multi-core mencerminkan performa build dan kompilasi.
| Chip | Single-Core | Multi-Core | 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 |
Wawasan utama: Skor multi-core M4 Pro 2.68x lebih cepat daripada Intel i9, artinya build yang membutuhkan 10 menit di Intel kini selesai dalam waktu kurang dari 4 menit. Peningkatan single-core berarti UI Xcode, penyelesaian kode, dan pengindeksan terasa jauh lebih responsif.
Waktu Build Xcode
Kami menguji clean build pada proyek iOS produksi besar dengan sekitar 500,000 baris kode Swift, 200+ target, dan modul campuran Swift/Objective-C.
| Chip | Waktu Clean Build | Build Inkremental | Waktu Dihemat 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 |
Cara Kami Mengukur
# 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
Clean Build Swift Package Manager
Kami menguji proyek Swift Package Manager dengan 50 dependensi, termasuk paket besar seperti Alamofire, Kingfisher, SnapKit, dan Firebase SDK.
| Chip | Resolusi Dependensi | Clean Build | Total Waktu |
|---|---|---|---|
| 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)
Performa Build Docker
Kami menguji pembuatan image Docker aplikasi Node.js produksi (multi-stage build dengan npm install, kompilasi TypeScript, dan pengaturan nginx) menggunakan Docker Desktop for Mac.
| Chip | Build Docker (tanpa cache) | Build Docker (layer ter-cache) | Ukuran Image |
|---|---|---|---|
| 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 .
Performa Inferensi LLM
Arsitektur unified memory Apple Silicon menjadikannya sangat baik untuk menjalankan large language model secara lokal. Kami menguji kecepatan inferensi menggunakan llama.cpp dengan akselerasi Metal.
| Model | 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."
Catatan: M4 Pro dengan unified memory 24GB dapat menjalankan model hingga ~40B parameter dalam kuantisasi 4-bit. Untuk model 70B, Anda memerlukan konfigurasi 48GB atau 64GB. Intel i9 dengan 32GB secara teknis dapat menjalankan model 7-13B tetapi pada kecepatan yang tidak dapat digunakan karena tidak adanya akselerasi GPU Metal.
Performa SSD
Kecepatan SSD berdampak langsung pada pengindeksan Xcode, waktu pembukaan proyek, boot Simulator, dan resolusi dependensi. Kami mengukur kecepatan baca/tulis sekuensial menggunakan dd dan Disk Speed Test.
| Chip | Baca Sekuensial | Tulis Sekuensial | Baca Acak 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
Throughput Jaringan
Semua server MyRemoteMac terhubung melalui jaringan 1Gbps. Berikut adalah kecepatan transfer dunia nyata yang kami ukur.
| Tes | Kecepatan | Catatan |
|---|---|---|
| iperf3 (datacenter lokal) | 9.42 Gbps | Mendekati kecepatan kabel dalam datacenter |
| Speedtest (internet) | 8.7 Gbps unduh / 8.2 Gbps unggah | Ke titik peering utama Eropa |
| git clone (repo besar, 2GB) | 14s | Dari GitHub, dibatasi oleh egress GitHub |
| instal CocoaPods (50 pod) | 28s | Termasuk git clone dan resolusi spec |
| Docker pull (image 1GB) | 8s | Dari 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
Tabel Perbandingan Lengkap
Semua metrik berdampingan untuk perbandingan yang mudah.
| Metrik | 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 |
Apa Artinya untuk CI/CD
Perangkat keras yang lebih cepat langsung berujung pada pipeline CI/CD yang lebih cepat, feedback loop developer yang lebih singkat, dan biaya per build yang lebih rendah.
Penghematan Waktu Pipeline Build
Pipeline CI iOS pada umumnya (checkout, build, test, archive) yang membutuhkan 25 menit di Intel kini selesai dalam waktu kurang dari 10 menit di 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)
Perbandingan Biaya Per Build
Dengan asumsi 100 build per bulan seharga $85/bulan untuk M4, dibandingkan dengan runner macOS yang dihosting GitHub seharga $0.08/menit.
# 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
Dampak Produktivitas Developer
Studi menunjukkan bahwa waktu build berdampak langsung pada kondisi flow developer. Build 10 menit berarti developer beralih konteks ke tugas lain dan kehilangan 15-20 menit secara total. Build 4 menit menjaga developer tetap dalam kondisi flow mereka. Untuk tim yang terdiri dari 5 developer yang masing-masing melakukan 10 build/hari, M4 Pro menghemat sekitar 5 jam waktu tunggu kumulatif setiap hari dibandingkan Intel i9.
Coba Sendiri
Jalankan benchmark ini di server MyRemoteMac Anda sendiri untuk melihat hasilnya secara langsung.
# 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"