IntelMacbookProからM1ProMacbookProにした話

新年あけましておめでとうございます。ATOM開発担当の渡部です。 もうすでに年始感はないのですが, 新年一発目の記事を担当させていただきます。

ちょうど弊社メインプロダクトのひとつであるATOMも一種の節目に入っておりまして, リニューアル版が段階的にリリースされている状況でございます。

私は現行のATOM開発保守担当でしたが、このたびリニューアル版開発担当になりました。 心機一転頑張っていく所存でございます。

さて、業務内容が新しくなる一方 最近業務PCのほうも新しくなりました。

タイトルにもある通りIntel版Macbook(2019)から 評判がすこぶるいいM1pro搭載のMacbookProへの変更になります。

M1ProはAppleSiliconというARMアーキテクチャを使っているということもあり, ワットパフォーマンスが飛躍的に向上する一方、 intelMacで動いていたソフトがそのままでは動作しなくなります(Rosseta2でほとんど解決します)

違いについてはもう記事が出尽くした感がありますのでここでは記載しません。

その代わり、業務PCをIntelMacからAppleSiliconMacに変えたことによって、 「よかったこと」「苦労したこと」をまとめてみたいと思います。

年始はじめということでデータを取ってガチガチに比較したという記事ではなく、 感覚でどう思ったのかなどゆるーく記載していきますので 肩の力を抜いて読んでいただけたらなぁと思っております。

M1Pro Macに変更した理由

スペックは贅沢なことにメモリ32GB, ストレージ512GBのM1Proモデルが支給されました。 私含め、殆どの人にはオーバースペックとなりますが、スペック不足による困ることがなくなりました。

じつはintel製Macのリース期間が少し残っていましたが、少し無理言って変更させていただきました。 その理由が以下の状況に陥ってしまっていたためです。

  • プロダクト3つを受け持っているという弊社の中では特殊な状況で, それぞれの環境を動かしている。

  • そのため常時CPU使用率が上がっている状態になっていた。

  • CPU使用率があがりすぎてサーマルスロットリングが発生。ストレスが溜まるぐらいの性能劣化に。

  • 外部キーボードなしでは作業できないぐらいパームレストが熱くなってしまっていた。

なんとかなりませんか!と、(平和的に)圧をかけて変更してもらいました(笑)

M1Pro Macにしてよかったこと

変更した上記理由をクリアした以外にも

  • バッテリー性能が格段に向上

  • スリープからの作業復帰が爆速

  • キーボードが打ちやすい

といった点もとてもいいと感じました。

とはいえこれも世間から常々評価されていることですよね。

例に漏れず私も同じ感想を持ちました!ファンが回らないのもすごい!

IntelMacで導入していたソフトとAppleSilicon対応状況

主に以下のソフトウェアを導入していました。 今回も継続して導入しておりますが、Dockerの一部コンテナを除きすべて問題なく動いています。

  • VisualStudio Code

  • JetBrain製のIDE

  • Chrome

  • DBeaver

  • Docker

  • その他細かい便利ツール

じつは今現在ほとんどのソフトウェアがAppleSilicon対応になっておりまして、 アクティビティモニタ(下図)で確認するとintel版をエミュレートしているソフトはほとんどありませんでした。(600プロセス中13プロセスがintel)

アクティビティモニタ列「種類」で並び替えた図

資産管理ソフトがIntelになって常時リソースを食いつづけていますが体感の性能劣化は皆無です。

M1ProMacにして悪かったこと

悪かったことというか戸惑ったことですが、Dockerに関すること以外、全く問題ありませんでした。 逆に言うとDockerで少し問題が発生したというべきでしょうか。

Dockerのイメージで通常使用されるイメージはintel版のイメージではなくARM版のイメージになります。 そのため環境構築に使用していたdocker-composeがそのままでは動かず少し戸惑いました。

とはいえ結論、x86(intel)しか対応していないイメージも↓をつけるだけで大体は解決するっていうね!素晴らしい!

platform: 'linux/amd64'

AppleSilicon出始めはもっと大変だったと記憶してますが、だいぶ浸透しましたねぇー。

Dockerの開発環境構築はどちらかというと 開発環境構築でのみ使用しているdocker-composeファイル自体が メンテされていない状態だったのでその修正のほうが時間がかかってました。

CIとかに組み込んで常にメンテされている状態にしたほうが良いのかなー

ただ一点だけ、docker+VSCodeのGoデバッグ環境が何故か構築できませんでした。

解決しようと調査したのですが、少し調べてこれは時間がかかるかな・・・と感じたので、 とりあえず逃げの一手でMac自体にgoをインストールして使っております。

さいごに

私のGoデバッグ環境のように動かない状況もあったりするので 人によっては致命的問題になり得るのでは?と思いました。

ただAppleは全Macをintel版からこのAppleSiliconへと移行すると発表しています。 Macを業務で使っている場合、いずれ移行が迫られる状況が来るかと思います。

そのためにも、もし可能であればできるだけ早めの移行をオススメ致します!