🍎

Intel Mac から M2 Mac に乗り換えた【ついでに cargo build の実行時間も測った】

2023/02/02に公開

はじめに

https://twitter.com/hkford3/status/1618239835550121984

5 年近く使っていた Intel MacBook Pro (2017) から M2 MacBook Pro (2022) に買い替えました。せっかくなので Rust で cargo build する時間がどんなものなのかを調べてみました。

買い替えにまつわるエトセトラ

なぜ買い替えるのか

一番の理由はそろそろバッテリーが限界だったからです。

修士の学生の頃からかれこれ 5 年近く研究・アルバイト・プライベートで使い続けて充放電を繰り返した結果外出先で電源を繋いでいないとすぐに落ちるようになってしまいました。外出先でちょっと調べ物をしたり作業したりするには不便なので新しい PC を買うことにしました。

買い替え先

自分は今クラウドベンダーでソリューションアーキテクトとして働いています。会社から支給された PC で仕事をしていて、今回買いたいのはプライベート用の PC です。プライベート PC でやりたいのは普段のブラウジング、実家とのビデオ通話、(仕事と関係ない)プログラミングなどです。

ざっくり買い換え先を Mac, Windows, Linux, Chromebook としたときに Linux と Chromebook は候補から外しました(行政の諸々のサイトにアクセスするときにはまると面倒だなと思ったのと、Notion のデスクトップアプリがないっぽかったので。Notion についてはブラウザからのアクセスで特段不便がないという意見も見かけましたが、デスクトップアプリに慣れているので無理にブラウザに移行しなくてもいいやと判断)。iOS アプリを開発するわけでもないし、WSL2 に VSCode から接続すればプライベート PC でやる程度のプログラミングに支障ないとは思います。ただ自分はスマホは iPhone でタブレットは iPad と Apple 製品に浸かっているので PC だけ Windows にすることもないだろうと思い今回は買い換え先を Mac にしました。

次にどの Mac にするかです。買い替えを検討していた当時は 14 インチと 16 インチの M2 MacBook Pro は発表されていなかったので候補は M1 MacBook Air, M2 MacBook Air, 13 インチ M2 MacBook Pro, 14 インチまたは 16 インチ M1 MacBook Pro のどれかになります。この中だと M2 MacBook Air か 13 インチ M2 MacBook Pro のどっちかだなと思い結構悩みました。Air の方が MagSafe がついてる分実質 Thunderbold のポートは一つ余裕が出るし、カメラの性能も良さそうだし、比べたら軽いし、Touch Bar じゃないし、コスパ良さそうだし(さらに Amazon のセール対象にもありそうだし)。ただファンレスはちょっと心配だなという気持ちが勝って M2 MacBook Pro にしました。

スペックはメモリ 16GB、SSD 512 GB、US キーボードでそのほかオプションはなしに。US キーボードにしたのは仕事用 PC がそうなってるのと、普段使ってるキーボードが Mistel Barocco MD770 静音赤軸の US 配列で US に揃えたかったからです。

いつ買うか

高い買い物なのでいつ買うかは大事です。今回買うのは US キーボードなのでお得に買う定番の整備済製品にはほぼ期待できません。なかなか踏ん切りがつかなかったところに Apple 初売りがきたので今年始まってすぐに買うことにしました。

今回は Amazon 初売りで Apple ギフトカードを購入+楽天で Apple ギフトカードを購入+楽天リーベイツ経由で公式サイトから購入という手順にしました。ただ Amazon も楽天もギフトカードを買うのに一定期間の限度額があるようなので、前もって計画的にギフトカードを買っておいた方がよりよかったと振り返って思います。まぁ結果オーライで。

新 PC に入れるアプリたち

新しく買った Mac には以下のアプリをとりあえず入れました。

  • 1Password: これがないと Google アカウントにもログインできない
  • Notion: これがないとメモやらなんやらが取れず知識をまとめられない
  • Firefox: ブラウザは Firefox 派
  • Dropbox: 毎日つけてる日記(これで作ってる)は Dropbox にいれてます
  • Alfred: 慣れてるランチャーアプリなので
  • Karabiner-Elements: カナ変換のために使用
  • Warp: 前は iTerm を使っていて特に不便はなかったものの心機一転新しく Warp を使ってみることにしました
  • Krisp: ノイキャンとバーチャル背景用
  • VSCode: エディタは VSCode を使っています。GitHub CodespacesAmazon CodeCatalyst が一般提供されるのを待ってます。

【おまけ】 cargo build にかかる時間

新 PC だと cargo build にかかる時間はどれくれいか測ってみました。Rust の Web フレームワーク axum を使っているこのリポジトリで試してみます。

新 PC の場合

user system total
1 回目 0.36s 0.39s 0.544
2 回目 0.67s 0.37s 0.613
3 回目 0.67s 0.37s 0.617
4 回目 0.67s 0.38s 0.610
5 回目 0.66s 0.37s 0.597

旧 PC の場合

user system real
1 回目 2.04s 0.66s 3.77
2 回目 1.56s 0.58s 2.08
3 回目 1.54s 0.57s 1.81
4 回目 1.52s 0.56s 1.78
5 回目 1.52s 0.56s 1.82

もちろん旧 PC はずっと使っていて新 PC は使い始めてすぐなので単純に比較するべきではありませんが意外とこれくらい小さいコードベースでも結構ビルドの時間に差が出ました。新 PC でも Rust を書いていきます。

Discussion