Help us understand the problem. What is going on with this article?

色んなMacでXcodeのビルド時間比較。開発用にどのMacを買うべきか?

直近の更新履歴

  • 2019-12-23 古いモデルの情報を削除。所感コメントを更新。 New!
  • 2019-11-15 MacBook Pro 16インチ (2019) を追記

概要

Swiftはコンパイルが遅いので、Macによって結構開発効率が変わってくる。
色んなMacのビルド時間を比較して、どのMacが開発に向いているか検討してみた。

ビルド時間の表示方法

以下のコマンドを実行してXcodeを再起動すると、Xcode上部にビルド時間が表示されるようになる。

defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

スクリーンショット 2018-08-29 15.03.47.png

色んなMacで比較

とあるSwiftアプリをクリーンビルドして、マシンごとのビルド時間とCPUのコア数、クロック数を比較。
ビルドにはXcode9.2を使用。

モデル CPU コア数 クロック数 ビルド時間(s)
iMac Pro (2017) Xeon W-2150B 10 3.0GHz 62
iMac (Late 2013) Core i5-4570 4 3.2GHz 210
Mac mini (Late 2012) Core i7-3615QM 4 2.3GHz 240
MacBook Pro 13インチ(2017) Core i5-7278U 2 3.3GHz 294
Mac mini (Late 2014) Core i5-4308U 2 2.8GHz 354
MacBook air(Early 2015) Core i5-5250U 2 1.6GHz 513

結果を見るとモデルの新旧に関わらずシンプルにコア数×クロック数が高いほど速い。

ビルド時間はクロック数×コア数にだいたい反比例してるっぽく見える

スクリーンショット 2018-08-30 19.40.45.png

サンプル数が少なく心もとないが、グラフにするとビルド時間はコア数×クロック数にだいたい反比例してるように見える。
だとすると、ビルド速度はコア数×クロック数にだいたい比例しているということになる。
(ちゃんと見ると2コアと4コアの間に傾きの飛びがあるように見えるが、だいたい反比例していることにしておく。。。)

また、速度がコア数に比例するということは、Xcodeはマルチコアを全て活用できているということになる。
CPUのTurbo Boost機能は一部のコアしか使えない場合に有効になるので、Turbo Boostの周波数はビルド速度に影響しないと予測できる。

並列設定を変えるとビルドは早くなるのか?

defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 2

上記のコマンドで並列タスク数を設定するとビルドが早くなるという記事をネット上で散見したが、実際やってみても早くはならなかった。
並列設定をしていない状態が最速に近かったので、この設定は初期状態で最適化されているのではないかと思う。

iMac (Late 2013)4コアで試した結果。

並列タスク数 ビルド時間
未指定 210
1 696
2 364
3 207
4 207
6 207
8 209

ただし、不適切な設定になっているとビルドが遅くなるので、現状を確認する意味で設定を変えてビルド時間を比較してみるのは良いかもしれない。

ちなみに並列タスク数の設定は、以下のコマンドでクリアできる。
defaults delete com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks

現行Macのビルド速度とコスパを比較する

ビルド速度がコア数×クロック数に比例すると仮定して、現行Mac各モデルのビルド速度と価格を比較する。

※ビルド速度=コア数×クロック数
※ビルドコスパ=ビルド速度÷価格×1千万
※メモリは一番下のオプション、ストレージはHDD以外で一番安いものを選択

iMac系

モデル ストレージ コア数 クロック数(GHz) ビルド速度 価格 ビルドコスパ
iMacPro (2017) 1TB SSD 18 2.3 41.4 822,800円 503
1TB SSD 14 2.5 35 734,800円 476
1TB SSD 10 3 30 646,800円 464
1TB SSD 8 3.2 25.6 550,800円 465
27インチiMac (2019) 512GB SSD 8 3.6 28.8 308,800円 933
512GB SSD 6 3.7 22.2 264,800円 838
256GB SSD 6 3.0 18.0 209,800円 858
21.5インチiMac (2019) 256GB SSD 6 3.2 19.2 197,800円 971
256GB SSD 6 3.0 18.0 175,800円 1024
256GB SSD 4 3.6 14.4 164,800円 874

Mac Book Pro

モデル ストレージ コア数 クロック数(GHz) ビルド速度 価格 ビルドコスパ
16インチMacBook Pro (2019) New! 512GB SSD 8 2.4 19.2 277,800円 691
512GB SSD 6 2.6 15.6 248,800円 627
13インチMacBook Pro (2019) 256GB SSD 4 2.8 11.2 231,800円 483
256GB SSD 4 2.4 9.6 198,800円 483
256GB SSD 4 1.7 6.8 192,800円 353

Mac Book Air

モデル ストレージ コア数 クロック数(GHz) ビルド速度 価格 ビルドコスパ
MacBook Air (2019) 256GB SSD 2 1.6 3.2 139,800円 229

Mac Mini

モデル ストレージ コア数 クロック数(GHz) ビルド速度 価格 ビルドコスパ
Mac mini (2018) 256GB SSD 6 3.2 19.2 144,800円 1326
256GB SSD 6 3.0 18.0 122,800円 1466
128GB SSD 4 3.6 14.4 89,800円 1604

Mac Pro New!

モデル ストレージ コア数 クロック数(GHz) ビルド速度 価格 ビルドコスパ
Mac Pro (2019) 256GB SSD 28 2.5 70 1,369,800円 511
256GB SSD 24 2.7 64.8 1,259,800円 514
256GB SSD 16 3.2 51.2 819,800円 625
256GB SSD 12 3.3 39.6 709,800円 558
256GB SSD 8 3.5 28 599,800円 467

開発におすすめのMac

Mac mini 2018

廉価でありながらCPU性能はそれなりに高く、コスパが一番高い。
5万円レベルの低価格構成はなくなったが、開発のコスパを考えるなら現在一番お勧めできる。
ただし、ディスプレイ、キーボード、マウスなどの付属品は何もついていないので、その分値段がかかることは考慮しておく必要がある。

iMac 2019

新モデルが出てMac miniに次ぐコスパになった。(2019-04-01追記)
ディスプレイ付きで、サイズと価格も手頃なので、開発チームでまとめて購入するにはおすすめ。

16インチMacBook Pro

かなり高いがビルドコスパは悪くない。
ビルド速度と持ち運びやすさを両立するとこのモデル。

開発におすすめできないMac

Mac Book Air(2019)

開発用途では今一番買ってはいけないMac
現行Mac唯一の2コアでビルドコスパが最悪。
あと少しお金をかければ4コアのMac Book Proが買えるのでそちらをお勧めする。

おわりに

無理やりコスパを出したが、CPU以外の要素は全く無視しているのであくまで参考程度に。

実際コスパを考えるなら、持ち運びやすさやディスプレイなど他の要素も考慮に入れる必要があるし、そもそもそんなに長時間のビルドをしないのであれば低スペックのCPUでも問題はない。

alt_yamamoto
株式会社アルトノーツ代表。エンジニア募集中です。 https://recruit.altonotes.co.jp
https://altonotes.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした