どうも、フリーランスのITエンジニア兼ブロガー兼投資家のKerubitoです。
先日、ついにM1搭載のMacBook Airを購入しました。
M1自体はInter製に比べて、やれ2倍、3倍の性能と騒がれています。
しかし、今回私が買ったのはProではなくAir。
そして用途としてはガチのモバイル開発、そして動画編集。
昔、開発にAirを使っていたら
みたいなことを言われて枕を濡らしました(笑
時は流れて、AirはM1という武器を手に入れた。
M1搭載のMacBook Airで開発、しかもエンタープライズな大事規模開発に耐えられるのか。
思いきり現在進行形な環境での検証です!
さっそく結論ですが、M1搭載ならMacBook Airでも開発ガンガンいけちゃいます。
そこそこ大規模なプロジェクトでも快適。
M1搭載のMacBook Airでなら、今後数年は戦えるのではないかという感触です。
M1搭載のMacBook AirとMacBook Proの違い
今回Airにした理由はスペック的にProとそれほど違いがなかったから。
それにすでに2019年モデルのMacBook Proを持っていたからです。
M1のAirとProの違いは以下のようになっています。
MacBook Air | MacBook Pro | |
CPU | Apple M1(8コアCPU[高性能コア×4、高効率コア×4]、7コアまたは8コアGPU、16コアNeural Engine) | Apple M1(8コアCPU[高性能コア×4、高効率コア×4]、8コアGPU、16コアNeural Engine) |
冷却ファン | 非搭載 | 搭載 |
重量 | 約1.29kg | 約1.4kg |
ファンクションキー | 物理キー | Touch Bar |
バッテリ容量 | 49.9Wh | 58.2Wh |
ディスプレイ輝度 | 400cd/平方m | 500cd/平方m |
スピーカー | ステレオスピーカー | ハイダイナミックレンジステレオスピーカー |
マイク | 3マイクアレイ | スタジオ品質の3マイクアレイ |
上から実際の使用感に影響が出そうな順になっています。
CPUに関してはほぼ同じで、Airは基本GPUのコアが7つという点が異なります。
冷却ファンの有無、これがどれぐらい処理能力の差として出てくるかですね。
高負荷の処理、動画のエンコードなどではファンがガンガン回ったりしますが、Airはファンがないぶん、処理効率が落ちることになるかと。
これが体感レベルでどうなるか。
重量が100g違いますね。
これはAir側のメリットになります。
AirはTouch Barが非搭載。
Touch Bar自体は「Macの黒歴史」と馬鹿にされていましたが(笑)、個人的にはなかなか使いやすいと思っています。
しかし、実際Airを使っていて、Touch Barがないことに不自由は感じません(笑
バッテリは多いほうがいいので、Proに軍配。
あとはそれぞれの使い方にもよりますが、大差ないでしょう。
開発環境
普段、2~3のプロジェクトを同時進行しているのですが、その中で比較的規模の大きなプロジェクトの開発環境をサンプルとして使用します。
サンプルプロジェクト
使用IDE :Xcode12.4
言語 :Swift5
ライブラリ管理ツール :Cocoapods
使用ライブラリ数 :約20(AWSCognito、AWAS3、AWSIot、RealmSwift、PromiseKit、Alamofireなど)
ソース :swiftファイルが300前後
バージョン管理 :GitHub
CI :CircleCI
本当に大規模なものがどれぐらいかわからないのでなんとも言えませんが、モバイルアプリとしてはまあまあの規模だと思います。
このプロジェクトはローンチしてから2年ほど経ち、運用・保守と機能追加が同時進行中です。
M1搭載のMacBook Airで開発は快適?
上のような開発環境で、M1搭載のMacBook Airはどのように処理をこなしてくれているのか。
Xcodeの操作自体は当然快適に行えます。
Intel製のときにはイライラしていたIndex関連の処理もかなり高速になった印象。
プロジェクト内検索なども高速でノンストレスです。
画面レイアウトを作成するStoryBoardの表示や操作もかなり軽快ですね。
そして、開発において最大の難所がビルド(特にクリーンビルド)にかかる時間。
2019年モデルのMacBook Proのクリーンビルドの時間がだいたいいつも230~250秒ぐらいかかっていました。
1日5回やったとして少なくとも20分も待たされている計算に。
このクリーンビルド時間がM1搭載のMacBook Airだと70秒前後に改善!
遅くとも90秒ぐらいで完了します。
3倍速くなったの宣伝文句は嘘じゃなかった(笑
M1搭載のMacBook AirにてXcodeでクリーンビルド時のCPUとメモリの負荷状況
参考にMacの起動→Xcodeを立ち上げる→クリーンビルドのCPUとメモリの状態です。
mac起動時のcpu
mac起動時のメモリ
Xcode起動時のcpu
Xcode起動時のメモリ
クリーンビルド時のcpu
クリーンビルド終了直後のcpu
クリーンビルド時のメモリ
並べてみます。
Mac起動時
CPU : システム 1.31% ユーザー 1.36%
メモリ: 使用済みメモリ 3.82GB スワップ使用領域 0バイト
Xcode起動時
CPU : システム 0.9% ユーザー 0.6%
メモリ: 使用済みメモリ 3.58GB スワップ使用領域 76.8MB
クリーンビルド時
CPU : システム 7.1% ユーザー 92.37%
メモリ: 使用済みメモリ 4.75GB スワップ使用領域 365.8MB
Mac起動時
CPUはシステムとユーザー合わせても3%以下。
ほぼ眠っている状態。
メモリは8GB搭載されており、起動するだけで3.82GB使っていますね。
Xcode起動時
CPUはシステムとユーザー合わせて1.5%。
Mac起動直後よりも下がっています(笑
これはおそらく起動時にはいろいろ処理が走っており、それが落ち着いたことによるものと予想されますね。
メモリも下がっていて、同じ理由かと。
クリーンビルド時
クリーンビルド時のスクショは2つあるのですが、1つめがビルド中、2つめが直後のものです。
CPUはシステムとユーザー合わせて99.47%。
ほぼ100%であり、フルパワーで動いている状態。
ファンがないのでいまいち頑張ってる感はありませんが、クリーンビルド時はProのほうがパフォーマンス出るでしょうね。
メモリも4.75GBまで上がっていますが、まだ余裕がある状態。
下の画像は8個あるコアの状態で、左端がクリーンビルドしているところで、完全に上がり切っています。
まとめ:M1搭載のMacBook Airで開発は捗る
M1のMacBook Airならモバイル開発もガンガンいけちゃいます!
これが結論。
「去年までのMacのことは忘れてくれ」
と言わんばかりのAppleの本気には白目ですが、技術革新とはこういうものなのでしょう。