開発マシンを自作PCからMac Studioに変えて優勝した

一人アドカレ Advent Calendar 2022 23日目のエントリーです
一人って何?

IMG_2435.jpg
前面にUSB-Aが欲しくて結局ドックの上に鎮座するMac Studio

ところで

皆さんはギョームで使う端末は何を使っていますか?
会社から貸与されることが殆どだと思いますが、場合によってはBYODが認められているケースもあると思います
弊社は後者(前職も後者)で、各々が使いたい端末を持ち込んで開発に従事しています
※もちろん、セキュリティーが担保できることが条件です

一般的に会社が貸与する端末はゴミ性能がイマイチなことが多いので、自分の好きな端末を使えるのは、それだけでも福利厚生になります
僕はWindowsでもmacOSでもLinuxでも仕事をするので、主に自作PCとMacBook Proを使っていました

そろそろIntel Macも寿命だよね

MacBook Pro 13" 2020をCTOで買った に書いたとおり、MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)を買って使っていました
これは最後のIntelベースのMacBook Proで、RAM 32GBなのでVM立ててもサクサクだったり、アイドル時にはファンが0rpmになったり、外部ディスプレイを2枚繋げたりと、中々快適に使えていました
ただし、今どきはApple SiliconのMacばかりだし、

Apple plans to ship the first Mac with Apple silicon by the end of the year and complete the transition in about two years.
https://www.apple.com/newsroom/2020/06/apple-announces-mac-transition-to-apple-silicon/

とあるように、2020年から2年程度かけて移行することになっているので、そろそろ移行が終盤にさしかかっているはずです
現にIntelベースで残っているのはMac Proだけだし、そのMac ProですらGeekbenchではM1 UltraのMac Studioに負けています
Intel Macの時代は確実に終わりを迎えている印象です

出不精のデブ症

去年から福岡の会社に転職して、横浜からフルリモートで働くようになりました(この件のエントリー書けてない)
となると、MacBook Proのように持ち運ぶ必要が無いわけです

個人的にはカフェに繰り出して作業したり、YouTuberみたいにスタンディングデスクで立って仕事をするのは全く向いていなくて、まともなオフィスチェアとまともな高さのデスクでガシガシコードを書く方が向いていると思っています
※眠気覚ましに立って仕事するくらいなら素直にpower-napをとった方が生産性が高くないですか?会社としても必要な昼寝は積極的に奨励すべきです

MacBook ProもThunderboltドックに繋いでクラムシェルモードで使い続けているくらいで、完全に据え置きと化していました
なので、次のMacはデスクトップでいいじゃんって感じでした

さすがにRAM 16GBじゃ足りないっしょ

M1 Macは超速〜い

RAM 8GBでも全然イケちゃう

みたいなよう分からんレビューが多いですが、まともに開発に使おうとすると少なくともVSCodeかIntelliJ IDEAとDockerを起動します
常識的に考えるとエディタで2GBは使うし、Dockerは4〜8GBは使います
Web開発なのでChromeも起動するので、絶対にRAM 16GBじゃ足りないのは明らかです
となるとMac miniでは無理で、Mac Studioを買うのが正解かなといったところです
吊るしのモデルでも10コアのM1 MaxにRAM 32GBで十分な感じがします

というわけで

𝑴𝒚 𝑵𝒆𝒘 𝑮𝒆𝒂𝒓

IMG_2384.jpg

CleanShot-2022-12-23-at-00.49.40.png

ベンチマーク

絶対性能はGeekbenchとかCinebenchに任せるとして、実際のWeb開発のビルド時間を見てみます
対象は弊社の某プロダクトでやってみます

このベンチマークはコモン・クリエーション合同会社の提供でお送りします

前提

この某プロダクトは多数のリソースとやや複雑なデプロイパイプラインで構成されていますが、今回はAWS CDKの cdk synth でビルドされる範囲で測定します
※本来ならECS用のDocker imageやらなんやらのビルドも追加されます

ビルド対象は以下のリソースです

  • TypeScriptのモノリスなREST API用Lambda関数 x1
  • TypeScriptのマイクロサービス用Lambda関数 x6
  • React TSXのWebフロントエンド x1

ビルドを行うマシンは以下の通りです

  • MacBook Pro
    • OS: macOS Ventura 13.1
    • CPU: Intel Core i5-1038NG7 (4C8T, 2.00 GHz, up to 3.80 GHz)
    • RAM: 32GB
    • SSD: 512GB
  • Mac Studio
    • OS: macOS Ventura 13.1
    • CPU: Apple M1 Max (2E+8P, 3.20 GHz)
    • MEM: 32GB
    • SSD: 512GB

結果

3回ビルドし、それぞれの時間は以下の通りです

1回目2回目3回目
MacBook Pro2:15.852:16.632:15.10
Mac Studio1:50.231:47.461:46.66

20〜30秒くらい早くなってていい感じです
MacBook Proはファンが回るのでややうるさいですが、Mac Studioのファンはゆるゆると回ったままなので、静かなのもポイントが高いです

感想

UbuntuもKali LinuxもWindows11もParallelsのVMで十分動かせるので、ほぼMac Studioだけで仕事できるようになりました
これで27万円ならまあまあアリなんじゃないかといったところです
※MacBook ProをM1 Maxにアップグレードすると40万円コース

バカ速いわけではないので、もっと性能が必要な人はM1 Ultraを買えばいいと思います
逆に言えば、これ以上低いスペックだと相当しんどいんじゃないかという印象です
減価償却云々とか固定資産云々とかでクソみたいな微妙な端末を配るのは、エンジニア目線だと忠誠心が下がるので、世の経営者はもっと反省しましょう

なお、デスクトップの割に消費電力は低いので、リモートワークには大助かりでした

CleanShot-2022-12-23-at-00.53.22.png