Apple

M1のMacBook Airのスペックでモバイル開発は捗るのか本番運用環境で検証!

M1搭載のMacBook Air

どうも、フリーランスのITエンジニア兼ブロガー兼投資家のKerubitoです。

先日、ついにM1搭載のMacBook Airを購入しました。

M1自体はInter製に比べて、やれ2倍、3倍の性能と騒がれています。

しかし、今回私が買ったのはProではなくAir。

そして用途としてはガチのモバイル開発、そして動画編集。

昔、開発にAirを使っていたら

Aさん
ITエンジニアだったらProでしょ

みたいなことを言われて枕を濡らしました(笑

時は流れて、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 AirMacBook Pro
CPUApple 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.9Wh58.2Wh
ディスプレイ輝度400cd/平方m500cd/平方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

M1搭載のMacBook Airのアクティビティモニタ

mac起動時のメモリ

M1搭載のMacBook Airのアクティビティモニタ

Xcode起動時のcpu

M1搭載のMacBook Airのアクティビティモニタ

Xcode起動時のメモリ

M1搭載のMacBook Airのアクティビティモニタ

クリーンビルド時のcpu

クリーンビルド終了直後のcpu

M1搭載のMacBook Airのアクティビティモニタ

クリーンビルド時のメモリ

M1搭載のMacBook Airのアクティビティモニタ

並べてみます。

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で開発は捗る

M1のMacBook Airならモバイル開発もガンガンいけちゃいます!

これが結論。

「去年までのMacのことは忘れてくれ」

と言わんばかりのAppleの本気には白目ですが、技術革新とはこういうものなのでしょう。

-Apple

© 2021 Kerubitoのブログ