Mac mini M6 vs runner macOS hosted GitHub: benchmark build Xcode
Kami ingin angka nyata untuk satu pertanyaan. Seberapa cepat Mac mini M6 khusus dibanding runner macOS hosted standar GitHub, untuk aplikasi iOS sungguhan? Jadi kami membuat build aplikasi iOS Wikipedia yang open source di keduanya. Xcode-nya sama, script-nya sama, masing-masing tiga kali.
Tulisan ini menggantikan tulisan benchmark M4 kami sebelumnya. Setiap angka di sini berasal dari pengujian pada 24 September 2026.
Hasil
Median of 3 runs, in seconds. Lower is better.
GitHub-hosted MacRun M6 change
macos-26
package download 43 39 -8%
clean build 183 86 -53%
incremental build 21 10 -51%
no-op build 20 10 -50%
220 unit tests 44 17 -61%M6 sekitar dua kali lebih cepat dalam kompilasi. Unduhan paket hasilnya mirip, karena kedua mesin menarik paket yang sama dari GitHub lewat koneksi cepat. Setiap langkah berhasil di kedua mesin pada setiap pengujian.
Berapa lama job CI normal
Tabel di atas membandingkan mesin langkah demi langkah. Job CI sungguhan berbeda di tiap mesin. Runner hosted memulai setiap job dalam keadaan kosong. Ia harus mengunduh paket, build dari nol, lalu menjalankan tes. Mac khusus menyimpan folder build-nya. Jadi setelah perubahan kecil, ia hanya membangun ulang yang berubah.
Itulah selisih yang dirasakan tim Anda. Job yang tadinya empat setengah menit selesai dalam kurang dari tiga puluh detik. Di hari yang sibuk dengan banyak push, menit yang dihemat bisa jadi berjam-jam.
Job yang sama juga memakan biaya di runner hosted. GitHub membulatkan setiap job ke atas per menit, jadi 269 detik ditagih 5 menit. Dengan $0.062 per menit, itu sekitar 31 sen per job. Di Mac khusus tidak ada biaya tambahan. Kalkulator biaya kami mengubah jumlah job Anda menjadi angka bulanan.
Dua mesinnya
Detail hardware berasal dari mesinnya sendiri. Setiap pengujian mencetak chip, jumlah core, dan memorinya sebelum build. GitHub juga menjual runner macOS yang lebih besar dengan harga per menit lebih tinggi. Kami menguji yang standar karena itu yang dipakai kebanyakan tim.
Metode
- Proyek: wikimedia/wikipedia-ios di commit 8691a89, dibuat untuk iOS Simulator dengan scheme Wikipedia dan Swift package-nya.
- Simulator: iPhone 17 baru di iOS 26.5, dibuat dengan cara yang sama di kedua mesin.
- Setiap pengujian dimulai dengan cache paket dan DerivedData dihapus. Signing dimatikan, seperti biasanya untuk build simulator di CI.
- Unduhan paket:
xcodebuild -resolvePackageDependencieske folder kosong. - Clean build:
xcodebuild build-for-testingdengan DerivedData kosong dan paket yang sudah diunduh. - Incremental build: perintah yang sama setelah menambah satu baris komentar di satu file Swift di aplikasi.
- No-op build: perintah yang sama lagi tanpa perubahan apa pun.
- Tes: 220 unit test di paket WMFData milik aplikasi, dijalankan dengan
test-without-buildingdi simulator yang sudah boot. - Tiga pengujian penuh di tiap mesin. Kami melaporkan mediannya.
Catatan
Kami menjalankan tes paket aplikasi, bukan target tes utamanya. Target utama butuh entitlement app group yang ditandatangani, dan build CI tanpa tanda tangan tidak punya itu. Test host-nya terus diluncurkan ulang di kedua mesin, jadi bukan ukuran yang adil.
Incremental build hanya menyentuh satu file kecil. Sebagian besar dari 10 detiknya adalah Xcode merencanakan build. Karena itu hasilnya sama dengan no-op build. Perubahan di file yang banyak dipakai akan lebih lama di kedua mesin.
Kedua mesin menjalankan versi macOS yang berbeda, karena masing-masing menjalankan versi yang dipakai pemiliknya hari ini. Job hosted juga bisa menyimpan cache Swift package dengan actions/cache. Itu akan memangkas langkah unduhan. Tapi tidak menghilangkan clean build, yang memakan sebagian besar waktunya.
Kami menjual runner M6, jadi timbang angka kami dengan mengingat hal itu. Metode di atas cukup lengkap untuk diulang di proyek Anda sendiri. Hanya benchmark itulah yang benar-benar penting bagi Anda.
Pertanyaan
- Hardware apa yang dipakai runner macOS 26 standar GitHub?
- Dalam pengujian kami, runner macos-26 melaporkan Apple M2 Pro (Virtual) dengan 5 core CPU dan memori 14 GB. Itu mesin virtual, dan setiap job mulai dari nol.
- Seberapa cepat Mac mini M6 untuk build Xcode?
- Dalam benchmark kami, clean build aplikasi iOS Wikipedia memakan waktu median 86 detik di mini M6 khusus dan 183 detik di runner macOS 26 standar GitHub. Itu 53 persen lebih cepat. Incremental build dan unit test 50 sampai 61 persen lebih cepat.
- Kenapa runner khusus jauh lebih cepat untuk job CI sehari-hari?
- Terutama karena ia menyimpan hasil build antar job. Runner hosted memulai setiap job dalam keadaan kosong, jadi ia mengunduh paket dan melakukan clean build setiap kali. Mac khusus hanya membangun ulang yang berubah.
- Bisakah saya mengulang benchmark ini?
- Bisa. Bagian metode mencantumkan proyeknya, commit yang dikunci, build Xcode, dan langkah xcodebuild yang persis. Siapa pun yang punya Mac dan GitHub Actions bisa menjalankan langkah yang sama.
Hitung angka Anda sendiri dengan kalkulator atau sewa runner.